数据类型
Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。
1、string
字符串是redis最基本的数据类型,key-value形式存储
>set name "jack"
>get name
"jack"
注意:一个键最大能存储512MB。
2、hash
hash是key-value键值对的集合,hash是一个string类型的field和value的映射表,hash特别适合用于存储对象。
>hset 123456 name jack age 11
或者
>hmset 123456 name jack age 11 //设置多field
> hget 123456 name age
"jack"
> hmget 123456 name age
1) "11"
2) "jack"
3、列表
redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)。一个列表最多可以包含 2^32 - 1 个元素 (4294967295, 每个列表超过40亿个元素)。
> LPUSH runoobkey redis
> LPUSH runoobkey mongodb
> LPUSH runoobkey mysql
> LRANGE runoobkey 0 10
1) "mysql"
2) "mongodb"
3) "redis"
4、集合
Redis 的 Set 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。Redis 中集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。^集合中最大的成员数为 2^32 - 1 (4294967295, 每个集合可存储40多亿个成员)。
> SADD runoobkey redis
> SADD runoobkey mongodb
> SADD runoobkey mysql
> SADD runoobkey mysql
> SMEMBERS runoobkey
1) "mysql"
2) "mongodb"
3) "redis"
5、有序字符串集合
Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员。不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。有序集合的成员是唯一的,但分数(score)却可以重复。集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。 集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)。
> ZADD runoobkey 1 redis
> ZADD runoobkey 2 mongodb
> ZADD runoobkey 3 mysql
> ZADD runoobkey 3 node
> ZADD runoobkey 3 mysql
> ZADD runoobkey 4 mysql
> ZRANGE runoobkey 0 10 WITHSCORES
1) "redis"
2) "1"
3) "mongodb"
4) "2"
5) "node"
6) "3"
7) "mysql"
8) "4"