redis数据类型
redis数据类型
redis支持5种数据类型:
string字符串hash哈希list列表set集合zset有序结合
1.string
string是redis最基本的数据类型.它是二进制安全的,意味者string可以包含任何数据,比如jpg或者序列化对象.它最大可以存储512Megabytes.查看实例:
127.0.0.1:6379> set first_key first_value OK 127.0.0.1:6379> get first_key "first_value"
2.hash
hash是一个键值对的集合.它是对string类型的field和value的映射表,hash特别适合存储对象.127.0.0.1:6379> del first_key (integer) 1 127.0.0.1:6379> HMSET test field1 hello field2 world OK 127.0.0.1:6379> HMGET test field1 1) "hello" 127.0.0.1:6379> HMGET test field2 1) "world"
- 每个
hash可以存储 2的32次方减去1个元素.
3.list
redis列表是简单的字符串列表,按照插入顺序排序.可以添加一个元素到列表的头部和尾部.一个列表的元素的最大长度为2的32次方减去1个元素.
127.0.0.1:6379> del test (integer) 1 127.0.0.1:6379> LPUSH test redis (integer) 1 127.0.0.1:6379> LPUSH test python (integer) 2 127.0.0.1:6379> LRANGE test 0 10 1) "python" 2) "redis"
4.set
set是string类型的无序集合.集合是通过哈希表实现的,所以添加,删除,查找的复杂度是O(1).127.0.0.1:6379> DEL test (integer) 1 127.0.0.1:6379> SADD test redis (integer) 1 127.0.0.1:6379> SADD test mysql (integer) 1 127.0.0.1:6379> SADD test mongodb (integer) 1 127.0.0.1:6379> SMEMBERS test 1) "mysql" 2) "mongodb" 3) "redis"
- 最大长度是2的32次方减去1个元素.
sadd添加,smembers列出.
5.zset
zset一样是string类型元素的集合,且不允许出现重复的成员,不同的是每个元素都会关联一个double类型的score.redis是通过分数来为集合中的成员进行从小到大的排列.
zset的成员是唯一的,但是score可以重复.127.0.0.1:6379> del test (integer) 1 127.0.0.1:6379> ZADD test 0 redis (integer) 1 127.0.0.1:6379> zadd test 0 mysql (integer) 1 127.0.0.1:6379> zadd test 0 mongodb (integer) 1 127.0.0.1:6379> ZRANGEBYSCORE test 0 1000 1) "mongodb" 2) "mysql" 3) "redis"
zadd添加.zrangebyscore列出.
6.各个数据类型应用场景
类型 简介 特性 场景 String二进制安全 可以包含任数据 hash键值对集合
(类似与python dict)存储多个对象.可以像数据库
一样针对一个属性修改.存储,读取,修改 list双向链表 增删快. 消息队列
最新消息排行等set哈希表实现,元素不重复 为集合提供了求交集,并集,差集等操作 共同好友
统计访问网站的独立IP.
好友推荐等zset为 set中元素增加一个权重参数score,元素按照score有序排列自动排序 排行榜
带权重的消息队列
7.状态码
integer 1:表示设置成功
integer 0:表示设置失败.
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 WenYan Blog!
评论






