Redis - Типы данных

Redis поддерживает 5 типов типов данных.

Струны

Строка Redis - это последовательность байтов. Строки в Redis безопасны для двоичного кода, то есть они имеют известную длину, не определяемую какими-либо специальными символами завершения. Таким образом, в одной строке можно хранить что угодно размером до 512 мегабайт.

пример

redis 127.0.0.1:6379> SET name "tutorialspoint" 
OK 
redis 127.0.0.1:6379> GET name 
"tutorialspoint"

В приведенном выше примере SET и GET команды Redis, name ключ, используемый в Redis и tutorialspoint - строковое значение, которое хранится в Redis.

Note - Строковое значение может иметь длину не более 512 мегабайт.

Хеши

Хеш Redis - это набор пар ключ-значение. Redis Hashes - это карты между строковыми полями и строковыми значениями. Следовательно, они используются для представления объектов.

пример

redis 127.0.0.1:6379> HMSET user:1 username tutorialspoint password 
tutorialspoint points 200 
OK 
redis 127.0.0.1:6379> HGETALL user:1  
1) "username" 
2) "tutorialspoint" 
3) "password" 
4) "tutorialspoint" 
5) "points" 
6) "200"

В приведенном выше примере тип хеш-данных используется для хранения объекта пользователя, который содержит основную информацию о пользователе. ВотHMSET, HGETALL команды для Redis, а user − 1 это ключ.

Каждый хэш может хранить до 2 32 - 1 пары значений поля (более 4 миллиардов).

Списки

Списки Redis - это просто списки строк, отсортированные по порядку вставки. Вы можете добавлять элементы в список Redis на голове или на хвосте.

пример

redis 127.0.0.1:6379> lpush tutoriallist redis 
(integer) 1 
redis 127.0.0.1:6379> lpush tutoriallist mongodb 
(integer) 2 
redis 127.0.0.1:6379> lpush tutoriallist rabitmq 
(integer) 3 
redis 127.0.0.1:6379> lrange tutoriallist 0 10  

1) "rabitmq" 
2) "mongodb" 
3) "redis"

Максимальная длина списка составляет 2 32 - 1 элемент (4294967295, более 4 миллиардов элементов в списке).

Наборы

Наборы Redis - это неупорядоченный набор строк. В Redis вы можете добавлять, удалять и проверять наличие членов с временной сложностью O (1).

пример

redis 127.0.0.1:6379> sadd tutoriallist redis 
(integer) 1 
redis 127.0.0.1:6379> sadd tutoriallist mongodb 
(integer) 1 
redis 127.0.0.1:6379> sadd tutoriallist rabitmq 
(integer) 1 
redis 127.0.0.1:6379> sadd tutoriallist rabitmq 
(integer) 0 
redis 127.0.0.1:6379> smembers tutoriallist  

1) "rabitmq" 
2) "mongodb" 
3) "redis"

Note - В приведенном выше примере rabitmq добавляется дважды, однако из-за уникального свойства набора добавляется только один раз.

Максимальное количество элементов в наборе - 2 32 - 1 (4294967295, более 4 миллиардов элементов в наборе).

Сортированные наборы

Сортированные наборы Redis похожи на наборы Redis, не повторяющиеся коллекции строк. Разница в том, что каждый член Сортированного набора связан со счетом, который используется для упорядочивания сортированного набора от наименьшего до наибольшего. Хотя члены уникальны, результаты могут повторяться.

пример

redis 127.0.0.1:6379> zadd tutoriallist 0 redis 
(integer) 1 
redis 127.0.0.1:6379> zadd tutoriallist 0 mongodb 
(integer) 1 
redis 127.0.0.1:6379> zadd tutoriallist 0 rabitmq 
(integer) 1 
redis 127.0.0.1:6379> zadd tutoriallist 0 rabitmq 
(integer) 0 
redis 127.0.0.1:6379> ZRANGEBYSCORE tutoriallist 0 1000  

1) "redis" 
2) "mongodb" 
3) "rabitmq"