1. Введение
Redis-это система хранения клавиш с открытым исходным кодом (лицензированная BSD), которая может использоваться в качестве базы данных, кеша и промежуточного программного обеспечения.
2. Операция на ключе
Во -первых, вам нужно установить связь. Jedis jedis = new jedis ("127.0.0.0.1", 6379), а затем вы можете управлять строкой, набором, Zset и хэшем.
// Проверка на ключевом public void keytest () {System.out.println (jedis.flushdb ()); // Очистить систему данных.out.println (jedis.echo ("hello")); // print haldosystem.out.println (jedis.exists ("foo");//судья - это key -gedis. «значения1»); jedis.set ("key2", "values2"); System.out.println (jedis.exists ("key1")); // Существует, существует ли ключ с string randomkey = jedis.randomkey (); // Выберите случайный ключ. System.out.println (jedis.pttl ("key1")); // оставшееся время выживания // Удалить время истечения срока действия ключа jedis.persist ("key1"); // Получить тип ключа «Строка», «Список», «Установите» «Нет» не означает, что ключ не существует System.out.println (тип «тип»: « + jedis.ty. Ключ // Экспорт значения ключевого значения строки = jedis.get ("key1"); System.out.println (значение); // Переименование ключа jedis.renamenx ("key1", "keytest"); System.out.println ("key1")); // определить, есть ли System.out.println ("keytest"); Ключи * Сопоставьте все ключи в базе данных. // Ключи H? LLO Matchs Hello, Hallo и Hxllo и т. Д. // Ключи H*LLO соответствуют Hllo и Heeeeeello и т. Д. // Ключи H [AE] LLO совпадают с Hello и Hallo, но не Hillo. // Специальные символы разделены /. SET <String> set = jedis.keys ("k*"); // Получить все соответствующие клавиши ключей System.out.println (set); jedis.del ("key1"); // удалить ключевую систему Del Method.out.println (jedis.exists ("key1");}3. Тип строковых данных
Установите Mystr "Hello World!" // Установить тип строки Получите MyStr // Читать тип строки, чтобы выполнить численные операции на строке 127.0.0.1:6379> Установить mynum "2" OK127.0.0.1: 6379> Получить mynum "2"
Код операции Java:
// тест на операцию строки public void stringtest () {jedis.set ("hello", "hello"); // setsystem.out.println (jedis.get ("hello")); // get // use adpend udd jedis.append ("hello", "world"); // Приложение Method System.out.print jedis.set ("Hello", "123"); System.out.println (jedis.get ("hello")); // Установить время истечения срока действия jedis.setex ("hello2", 2, "world2"); system.out.println (jedis.get ("hello2"); try {thread.slep (3000);} catch ("hello2"); {e.printstacktrace ();} System.out.println (jedis.get ("hello2")); // Добавить несколько пар ключевых значений одновременно jedis.mset ("a", "1", "b", "2"); // Получить вальулэлист a и b valus = jedis.mget ("a", "b"); Удаление партии jedis.del ("a", "b"); system.out.println (jedis.exists ("a")); System.out.println (jedis.exists ("b"));}4. Перечислите тип данных
Списки в Redis не являются массивами в базовой реализации, а связанные списки.
Серия операций: rpush, lpush, llen, lrange, lpop и rpop.
Мы можем использовать Lpush для вставки нового элемента в левую сторону списков, используйте Rpush, чтобы вставить новый элемент в правую сторону списков, и использовать команду LRANGE, чтобы указать диапазон от списков для извлечения элементов.
// Создание нового списка под названием MyList и вставьте элемент "1" 127.0.0.1:6379> lpush mylist "1" // Возвращение количества элементов в текущем mylist (integer) 1 // Вставка элемента "2" 127.0.0.1:6379> rpush mylist "2" (Integer) 2 //s Insert Element "0" 127.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1.0.1.0.1.0.0.6 3:03.63.13. lpush mylist "0" (Integer) 3 // Список элементов от номера 0 до номера 1 в MyList 127.0.0.1:6379> Lrange Mylist 0 11) "0" 2) "1" // Перечислите первый элемент в MyList от номера 0 до последних 127.0.0.1:6379> Lrange MyList 0 -11) "0" 2) "3)" 3) "3)" 3) "3)" 3) "3)" 3) "3)" 3) "3)" 3) "3)" 3) "3)" 3) "3)" 3) "3)
Код операции Java:
public void listtest () {string key = "mylist"; jedis.del (key); // удалить предыдущий // добавить элемент в очередь jedis.rpush (ключ, "aaaa"); jedis.rpush (key, "bbbb"); jedis.rpush (key, "cccc"); jedis. "CCCC"); // System Delly Dlensy.out.println ("Lenth:" + jedis.llen (Key)); // Печать очередь, начиная с индекса 0, до первой (все элементы) System.out.println ("Все элементы:" + jedis.lrange (key, 0, -1));//элемент с index.out.out. jedis.lindex (ключ, 1)); // Установить значение элемента в очереди, и ошибка будет возвращена, когда индекс превышает диапазон. jedis.lset (Key, 1, «aa22»); System.out.println («Индекс 1:» + jedis.lindex (ключ, 1)); // Элемент с правой стороны queue jedis.rpush (key, «-2», «-1»); // enquue из элемента из правого стороны Queues. "-1"); // Внедрение элемента с левой стороны Queue jedis.rpush (ключ, "второй элемент", "первый элемент"); // Первый секунд // элемент, затем первый // elementf входит в систему очереди. System.out.println (jedis.rpop (key)); // dequeues элемент с левой стороны системы очереди. System.out.println («Все элементы:» + jedis.lrange (ключ, 0, -1)); // count> 0: удаляет элемент со значением с начала до конца, и количество -это количество удаленных. // count <0: Удалите элемент со значением от конца к головке, и Count - это количество удаленных. // count = 0: удаляет все элементы со значением. jedis.lrem (Key, 1, "cccc"); System.out.println ("Все элементы:" + jedis.lrange (Key, 0, -1)); // то есть, самый правый элемент также будет включен. Если старт больше, чем хвостовая система списка, будет возвращен пустой список. // Если остановка больше, чем фактический хвост списка, Redis рассматривает его как индекс последнего элемента. System.out.println (jedis.lrange (Key, 0, 2)); System.out.println ("Все элементы:" + jedis.lrange (Key, 0, -1)); // Удалить элементы вне интервальной системы.out.println (jedis.ltrim (ключ, 0, 2); jedis.lrange (Key, 0, -1));}5. Установите тип
Набор Redis - это неупорядоченный набор, а элементы в наборе не имеют порядка.
Серия операций: SADD, SREM, SISMEMBER, СПОРБИИ И СУНИОН.
Операции, связанные с установкой, также богаты, такие как добавление новых элементов, удаление существующих элементов, получение перекрестков, принятие союза, получение различий и т. Д.
// Добавить новый элемент в коллекцию MySet "One" 127.0.0.1:6379> SADD MySet "One" (Integer) 1127.0.0.1:6379> SADD MySet "Two" (Integer) 1 // Click Mysement в коллекции MySet127.0.0.1: 6379> Smembers MySet 1) "2)" 2) "/2 -й" 2) "2)"/2 -й термин "/"/2 -й ". В коллекции MySet return 1 означает существование 127.0.0.1:6379> почетное мнение MySet "One" (Integer) 1 // Термин, является ли элемент 3 в коллекции MySet, return 0 Mean не существует "1" (Integer) 1127.0.0.1:6379> SADD YourSet "2" (Integer) 1127.0.0.1:1:6379> СПОРИТЕЛЕЙ yourset1) "1" 2) "2" // Создать союз из двух сет127.0.0.1: 6379> SUNION MYSESE 1) "1" 2) "2)" 3 "3)" 3 "3)" 3) "3" 3) "2)" 3 "3" 3) "3" 3) "3)" 3) "3)" 2) "2)" 3) "2)" 2) "2)" 2) "2)" 2) "2)" 3) "2)" 2) "2)" 2) "2)" 2) "
Java Operation Code:
public void settest () {// Очистить систему данных.out.println (jedis.flushdb ()); string key = "myset1"; string key2 = "myset2"; // Добавить элементы в коллекцию jedis.sadd (Key, "AAA", "BBB", "CCC"); Jedis.SADD (Key2, "BBB", "BBB", "BBB", "BBB", "BBB", "BBB", "BBB", "BBB", "BBB", "BBB", "BBB", "BBB", "BBB", "BBB", "BBB", "BBB", "BBB", "BBB", "BBB", "BBB", "BBB", "BBB", "BBB", "BBB", "CCC"); «DDD»); // Получить количество элементов в системе сбора. Храните его в ключевом результате, установленном jedis.sunionstore («destination», key, key2); system.out.println (jedis.smembers ("destination")); // В наборе Key1, набор Key2 не имеет элементов и хранит их в ключе key2); System.out.println (jedis.smembers ("destination")); // определить, что элемент является членом системы сбора. Jedis.smove (key, key2, "aaa"); system.out.println (jedis.smembers (key)); // Получить элементы System.out.println (jedis.smembers (key2); // Удалить и получить элементы в системе сбора. Jedis.srem (key2, "ccc", "ddd"); system.out.println (jedis.smembers (key2));}6. Сортированный тип наборов
Мы все называем заказанный набор в Redis Zsets
// Добавить заказанный набор Myzset и добавить элемент baidu.com, и номер последовательности, приведенный ему 1127.0.0.1:6379> Zadd Myzset 1 baidu.com (Integer) 1 // Добавить элемент 360.com в myzset, а номер последовательности, приведенный 3127.0.0.1:6379> zadd myzset myzset myzset myzset myzset myzset myzset.com (introder.com. Google.com в Myzset, и номер последовательности, приведенный ему 2127.0.0.1:6379> Zadd Myzset 2 Google.com (Integer) 1 // Добавить все элементы Myzset и одновременно перечислите их номер последовательности, вы можете видеть, что Myzset уже упорядочен. 127.0.0.1:6379> zrange myzset 0 -1 with scores 1) "baidu.com"2) "1"3) "google.com"4) "2"5) "360.com"6) "3"//Only list the elements of myzset127.0.0.1:6379> zrange myzset 0 -11) "baidu.com"2) "google.com"3) "360.com"
Код операции Java:
public void ZSetTest () {// Очистить систему данных. 1002.0); scoremembers.put ("ccc", 1003.0); // Добавить data jedis.zadd (ключ, 1004.0, "ddd"); jedis.zadd (ключ, scoremembers); // Получить число членов в отсортированной системе Set.out.println (Jedis.zcard (ключ); // //// по упорядоченному STEPLICED STACIDEDEDENTERN (CANDENTED STATEDENTEDENTERN STACIDEDENTENTERN (JEDIS.ZCARD (ключ); указывая на первого члена упорядоченного набора, 1 указывает второго члена упорядоченного набора и так далее. // Отрицательный подпись, с -1, представляющий последнего члена, -2, представляющий второй к последнему набору члена <string> coll = jedis.zrange (ключ, 0, -1); System.out.println (coll); // Возвращает набор обратного порядка членов в указанном диапазоне coll = jedis.zrevrange (ключ, 0, -1); System.out.println (jedis.zscore (Key, "bbb")); // Удалить систему элементов.out.println (jedis.zrem (ключ, "aaa")); System.out.println (jedis.zrange (ключ, 0, -1)); // количество участников в данной системе диапазона значений. 1002,0, 1003,0));}7. Хэш -тип
Хэши хранит отображение между строкой и строковым значением
// Создать хэш и присвоить значение 127.0.0.1:6379> HMSET Пользователь: 001 Имя пользователя Antirez Password P1PP0 Возраст 34OK // Перечислите содержание HASH127.0.0.1: 6379> HGETALL USER: 0011) «USERNAME» 2) «Антирез» 3) «Пароль» 4) «P1PP0)» 5) «5)». «34» // Изменить значение в HASH127.0.0.1: 6379> HSET Пользователь: 001 Пароль 12345 (Integer) 0 // Перечислите содержание HASH127.0.0.1: 6379> Hgetall User: 0011) «USERNAME» 2) «Антирез» 3) «Парус» 4) «12345» 5) «5)» 3) «5)» 5) «5)» 5) «5)» 3) «5)» 5) «5)» 5) «534».
Java Operation Code:
public void hashtest () {// Очистить систему данных.out.println (jedis.flushdb ()); string key = "myhash"; map <string, string = "> hash = new hashmap <> (); hash.put (" aaa "," 11 "); hash.put (" bbb "," 22 "); Добавить данные jedis.hmset (key, hash); jedis.hset (key, "ddd", "44"); // Получить все элементы hash (ключевые значения) system.out.println (jedis.hkeys (key)); // Получить ценность, соответствующую всем клавишам в системе hash.out.out.out.println (jedis. System.out.println (jedis.hlen (key)); // Получить все поля и значения в хэш и возвращаемой карты <string, string = ""> elements = jedis.hgetall (key); System.out.println (элементы); // определить, существует ли данное ключевое значение в hash set System.out.println (jedis.hexists (jedis. Значение, соответствующее указанному поле в HASH System.out.println (jedis.hmget (Key, "aaa", "bbb")); // Получить указанные значения System.out.println (jedis.hget (key, "aaa")); // // удалить указанную систему значения. System.out.println (jedis.hgetall (key)); // - поле поля в ключевой плюс Incrementsystem.out.println (jedis.hincrby (ключ, "bbb", 100)); System.out.println (jedis.hgetall (Key));};8. транзакции
Транзакция относится к «полному действию, либо выполнено все, либо ничего не сделано».
Прежде чем говорить о транзакциях Redis, мы сначала представим четыре инструкции Redis, а именно Multi, Exec, Discard и Watch. Эти четыре инструкции составляют основу обработки транзакций Redis.
1. Мульти используется для сборки транзакции;
2.Exec используется для выполнения транзакции;
3. Дисброс используется для отмены транзакции;
4. Начиная используется для мониторинга некоторых ключей. Как только эти ключи будут изменены до выполнения транзакции, выполнение транзакции отменяется.
Redis> Multi // Tag Transaction Start okredis> INGR user_id // Многочисленные команды в очереди в Queuedredis> INGR user_idqueudredis> INGR user_idqueudredis> pingqueudredis> exec // execute 1) (INTEGER) 12) (INTEGER) 23) (INTEGER) 34) PONG
Код операции Java:
public void TransactionTest () {Transaction t = jedis.multi (); // Собирает транзакцию t.set («hello», «мир»); response <string> response = t.get («hello»); t.zadd («foo», 1, «barowitch»); t.zadd ("foo", 0, ", barinsyly"); "Barikoviev"); response <set <string >> sose = t.zrange ("foo", 0, -1); // возвращать все соответствующие и возвращаемые системы. sose.get (). size (); // sose.get () system.out.println (pourtbar); System.out.println (sose.get ()); System.out.println («Размер коллекции:« + sosesize);}Работа с трубопроводом код Java:
public void TransactionPipelineTest () {Pipeline P = Jedis.pipelined (); // Открыть трубопровод P.Set («дурак», «bar»); p.zadd ("foo", 1, "barowitch"); p.zadd ("foo", 0, "barinsky"); p.zadd (foooo ", 0," string>; p.get ("pourt"); response <set <string >> sose = p.zrange ("foo", 0, -1); system.out.println (pipestring); system.out.println (sose); p.sync (); // отправить System.out.println ("============================================================================================= betback = sose.get (); System.out.println (sosesize); System.out.println (betback); System.out.println (pipestring.get ());}Суммировать
Выше приведено все подробное введение Java Operation Redis в этой статье, я надеюсь, что это будет полезно для всех. Если есть какие -либо недостатки, пожалуйста, оставьте сообщение, чтобы указать это. Спасибо, друзья, за вашу поддержку на этом сайте.