Redis - 数据类型

Redis支持5种类型的数据.

字符串

Redis字符串是一个字节序列. Redis中的字符串是二进制安全的,这意味着它们的已知长度不是由任何特殊的终止字符决定的.因此,您可以在一个字符串中存储最多512兆字节的任何内容.

示例

redis 127.0.0.1:6379> SET name "IT屋" 
OK 
redis 127.0.0.1:6379> GET name 
"IT屋"

在上面的示例中, SET GET 是Redis命令,名称是Redis中使用的密钥, it1352是存储在Redis中的字符串值.

注意 : 字符串值的长度最大为512 MB.

哈希

Redis哈希是键值对的集合. Redis Hashes是字符串字段和字符串值之间的映射.因此,它们用于表示对象.

示例

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

在上面的例子中,哈希数据类型用于存储用户的对象,其中包含用户的基本信息.这里 HMSET,HGETALL 是Redis的命令,而 user :  1 是关键.

每个哈希最多可存储2个 32  -  1个字段 - 值对(超过40亿).

列表

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,每个列表超过40亿个元素).

设置

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"

注意 : 在上面的示例中, rabitmq 被添加两次,但是由于该集的唯一属性,它只被添加一次.

a中的最大成员数set是2 32  -  1(4294967295,每组超过40亿成员).

排序集

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"