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"