📜  Redis-数据类型

📅  最后修改于: 2020-11-26 07:00:51             🧑  作者: Mango


Redis支持5种数据类型。

弦乐

Redis字符串是字节序列。 Redis中的字符串是二进制安全的,这意味着它们的已知长度不受任何特殊终止字符的确定。因此,您可以在一个字符串存储高达512 MB的任何内容。

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

在上面的示例中, SETGET是Redis命令,名称是Redis中使用的键,而tutorialspoint是存储在Redis中的字符串值。

注意-字符串值的最大长度为512兆字节。

散列

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

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的命令,而用户− 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,超过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" 

–在上面的示例中, 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"