redis数据类型

Redis对比与Memcached最大的优势就是支持更多灵活的数据结构,丰富的数据操作

Redis现支持的数据类型有:字符串,列表,集合,哈希,有序集合

Redis中文网链接:http://www.redis.cn/topics/data-types.html

1.字符串:普通数据类型

2.列表:简单的字符串列表,按照插入顺序排序。 你可以添加一个元素到列表的头部(左边)或者尾部(右边)。 

  适用于:对数据头尾操作频繁是数据

  • 在社交网络中建立一个时间线模型,使用LPUSH去添加新的元素到用户时间线中,使用LRANGE去检索一些最近插入的条目。
  • 你可以同时使用LPUSHLTRIM去创建一个永远不会超过指定元素数目的列表并同时记住最后的N个元素。
  • 列表可以用来当作消息传递的基元(primitive),例如,众所周知的用来创建后台任务的Resque Ruby库。
  • 你可以使用列表做更多事,这个数据类型支持许多命令,包括像BLPOP这样的阻塞命令。请查看所有可用的列表操作命令获取更多的信息
  • 用双队列的模式,实现不同优先级的消息队列,阻塞等待响应即可{ redis.blpop([height_list,low_list],0) //默认从第一个队列弹出以一个元素,不存在则弹出第二个队列的第一个元素,不存在则阻塞等待,0为永久等待,阻塞为阻塞该次连接,不影响其他连接对redis的操作 }
  • 参考链接:http://www.2cto.com/kf/201408/325868.html   http://www.myext.cn/other/a_28421.html

3.集合无序的字符串合集,有着不允许相同成员存在的优秀特性

   适用于:不要求排序,数据值唯一

  • 用集合跟踪一个独特的事。想要知道所有访问某个博客文章的独立IP?只要每次都用SADD来处理一个页面访问。那么你可以肯定重复的IP是不会插入的。

4.有序集合:是具备键值存在评分的集合,带评分,不重复

  适用于:要求排序,数据值唯一

  • 在一个巨型在线游戏中建立一个排行榜,每当有新的记录产生时,使用ZADD 来更新它。你可以用ZRANGE轻松地获取排名靠前的用户, 你也可以提供一个用户名,然后用ZRANK获取他在排行榜中的名次。 同时使用ZRANK和ZRANGE你可以获得与指定用户有相同分数的用户名单。 所有这些操作都非常迅速

5.哈希:是字符串字段和字符串值之间的映射

  适用于:一个记录包含多个键值对,比如一个用户的一组信息(名字,性别,手机号,状态)

补充:

列表阻塞模式,阻塞该次链接,直到成功弹出元素,否则一直根据timeout时间等待(0一直等待),大量阻塞等待,将占用大量内存




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值