Redis 数据类型
-
数据类型
Redis支持5种数据类型。 -
字符串
Redis字符串是字节序列。Redis中的字符串是二进制安全的,这意味着它们的已知长度不受任何特殊终止字符的确定。因此,您可以在一个字符串中存储高达512MB的任何内容。例:redis 127.0.0.1:6379> SET name "jc2182" OK redis 127.0.0.1:6379> GET name "jc2182"
在上面的示例中,SET和GET是Redis命令,名称是Redis中使用的键,而jc2182是存储在Redis中的字符串值。注意 -字符串值的最大长度为512兆字节。
-
哈希(hash)
Redis哈希是键值对的集合。Redis哈希表是字符串字段和字符串值之间的映射。因此,它们用于表示对象。例:redis 127.0.0.1:6379> HMSET user:1 username jc2182 password jc2182 points 200 OK redis 127.0.0.1:6379> HGETALL user:1 1) "username" 2) "jc2182" 3) "password" 4) "jc2182" 5) "points" 6) "200"
在上面的示例中,哈希数据类型用于存储包含用户基本信息的用户对象。这里HMSET,HGETALL是Redis的命令,而user: 1是key。每个哈希最多可以存储232-1个键-值对(超过40亿个)。 -
列表(list)
Redis列表只是字符串列表,按插入顺序排序。您可以将元素添加到头部或尾部的Redis列表中。例:redis 127.0.0.1:6379> lpush jc2182 redis (integer) 1 redis 127.0.0.1:6379> lpush jc2182 mongodb (integer) 2 redis 127.0.0.1:6379> lpush jc2182 rabitmq (integer) 3 redis 127.0.0.1:6379> lrange jc2182 0 10 1) "rabitmq" 2) "mongodb" 3) "redis"
每个列表的长度为232-1个元素(超过40亿个)。 -
无序集合(set)
Redis集合是无序的字符串集合。在Redis中,您可以添加,删除和测试O(1)时间复杂度中成员的存在。例:redis 127.0.0.1:6379> sadd jc2182 redis (integer) 1 redis 127.0.0.1:6379> sadd jc2182 mongodb (integer) 1 redis 127.0.0.1:6379> sadd jc2182 rabitmq (integer) 1 redis 127.0.0.1:6379> sadd jc2182 rabitmq (integer) 0 redis 127.0.0.1:6379> smembers jc2182 1) "rabitmq" 2) "mongodb" 3) "redis"
注 –在上面的示例中,rabitmq被添加了两次,但是由于集合的唯一属性,它仅被添加了一次。成员的一组最大数目是232-1(4294967295,超过40亿每集合成员)。
-
有序集合
Redis排序集合类似于Redis无序集合,不重复的字符串集合。不同的是,排序集合中的每个成员都与一个分数相关联,这个分数用来使排序集合有序,从最小到最大。虽然成员是唯一的,分数可能是重复的。例:redis 127.0.0.1:6379> zadd jc2182 0 redis (integer) 1 redis 127.0.0.1:6379> zadd jc2182 0 mongodb (integer) 1 redis 127.0.0.1:6379> zadd jc2182 0 rabitmq (integer) 1 redis 127.0.0.1:6379> zadd jc2182 0 rabitmq (integer) 0 redis 127.0.0.1:6379> ZRANGEBYSCORE jc2182 0 1000 1) "redis" 2) "mongodb" 3) "rabitmq"