2.2 redis数据类型

2.2.1 字符串

Redis 字符串是一个字节序列。 在 Redis 中字符串是二进制安全的,这意味着它们没有任何特殊终端字符来确定长度,所以可以存储任何长度为 512 兆的字符串。

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

在上面的例子中,SET 和 GET 是 Redis 命令,name 和 "liudanbing" 是存储在 Redis 的键和字符串值。

2.2.2 哈希

Redis哈希是键值对的集合。

Redis哈希是字符串字段和字符串值之间的映射,所以它们用来表示对象。

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

在上面的例子中,哈希数据类型用于存储包含用户基本信息的用户对象。

这里 HSET,HGETALL 是 Redis 命令同时 user:1 也是一个键。

2.2.3 列表

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"

列表的最大长度为 232 - 1 个元素(4294967295,每个列表的元素超过四十亿)。

2.2.4 集合

Redis 集合是字符串的无序集合。

在 Redis 可以添加,删除和测试成员存在的时间复杂度为 O(1)。

127.0.0.1:6379> sadd myset redis
(integer) 1
127.0.0.1:6379> sadd myset mongodb
(integer) 1
127.0.0.1:6379> sadd myset rabitmq
(integer) 1
127.0.0.1:6379> sadd myset rabitmq
(integer) 0
127.0.0.1:6379> smembers myset
1) "mongodb"
2) "redis"
3) "rabitmq"

注:在上面的例子中 rabitmq 被添加两次,但由于它是只集合具有唯一特性。集合中的成员最大数量为 232 - 1(4294967295,每个集合有超过四十亿条记录)。

2.2.5 排序集合

不同的是,一个有序集合的每个成员都可以排序,就是为了按有序集合排序获取它们,按权重分值从最小到最大排序。虽然成员都是独一无二的,按权重分数值可能会重复。

127.0.0.1:6379> zadd mysortset 0 redis
(integer) 1
127.0.0.1:6379> zadd mysortset 2 mongodb
(integer) 1
127.0.0.1:6379> zadd mysortset 1 rabitmq
(integer) 1
127.0.0.1:6379> ZRANGEBYSCORE mysortset 0 1000
1) "redis"
2) "rabitmq"
3) "mongodb"

全部数据类型相关操作指令在 http://redis.cn/commands.html有详细介绍

results matching ""

    No results matching ""