Redis 数据类型
Redis支持五种数据类型:
string, hash, list, set, zset(sorted set, 有序集合)
Sting
一个 key 对应一个 value。
string 类型是二进制安全的。意思是 redis 的 string 可以包含任何数据。比如jpg图片或者序列化的对象。
string 类型是 Redis 最基本的数据类型,string 类型的值最大能存储 512MB。
redis 127.0.0.1:6379> SET key "value" OK redis 127.0.0.1:6379> GET key
"value"
Hash
Redis hash 是一个键值(key=>value)对集合。
Redis hash 是一个 string 类型的 field 和 value 的映射表,hash 特别适合用于存储对象。
redis 127.0.0.1:6379> HMSET key field1 "Hello" field2 "World"
"OK"
redis 127.0.0.1:6379> HGET key field1
"Hello"
redis 127.0.0.1:6379> HGET key field2
"World"
List
Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)。
redis 127.0.0.1:6379> lpush key redis
(integer) 1
redis 127.0.0.1:6379> lpush key mongodb
(integer) 2
redis 127.0.0.1:6379> lpush key rabbitmq
(integer) 3
redis 127.0.0.1:6379> lrange key 0 10
1) "rabbitmq"
2) "mongodb"
3) "redis"
Set
Redis 的 Set 是 string 类型的无序集合。
redis 127.0.0.1:6379> sadd kry redis
(integer) 1
redis 127.0.0.1:6379> sadd key mongodb
(integer) 1
redis 127.0.0.1:6379> sadd key rabbitmq
(integer) 1
redis 127.0.0.1:6379> sadd key rabbitmq
(integer) 0
redis 127.0.0.1:6379> smembers key
1) "redis"
2) "rabbitmq"
3) "mongodb"
ZSet
Redis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。
不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。
zset的成员是唯一的,但分数(score)却可以重复。
redis 127.0.0.1:6379> zadd key 0 redis
(integer) 1
redis 127.0.0.1:6379> zadd key 0 mongodb
(integer) 1
redis 127.0.0.1:6379> zadd key 0 rabbitmq
(integer) 1
redis 127.0.0.1:6379> zadd key 0 rabbitmq
(integer) 0
redis 127.0.0.1:6379> ZRANGEBYSCORE key 0 1000
1) "mongodb"
2) "rabbitmq"
3) "redis"