资讯专栏INFORMATION COLUMN

Redis入门系列(六):Redis的Sorted Set类型

Shonim / 717人阅读

摘要:概念有序集合在集合的基础上,为每个元素关联了一个数值可以代表重要程度,或对数值赋予其他的意义。常用命令添加元素发现的分数录错了,不是分,是分。文章的访问量作为。只要使用或者就可以了。

概念

有序集合在集合的基础上,为每个元素关联了一个数值(可以代表重要程度,或对数值赋予其他的意义)。
这使得我们可以根据这个数值,对集合内的元素进行操作。(元素的数值可以相同)。

常用命令 添加元素
ZADD chengji 10 eric 5 david 15 lio

发现David的分数录错了,不是5分,是15分。怎么改呢?

ZADD chengji 15 david
删除集合中的元素:
ZREM chengji eric
获取元素分数
ZSCORE chengji eric //10
获取前几名

我现在想按照分数,获取前2名分数高的人:ZREVRANGE 就可
我现在想按照分数,获取后2名分数高的人:ZRANGE 就可

ZREVRANGE chengji 0 1
ZRANGE chengji 0 1

ZRANGE可以类比于List类型的LRANGE

ZRANGE与ZREVRANGE的区别是:
ZRANGE按照元素分数从小到大排序
ZREVRANGE按照元素分数从大到小排序

获取指定分数范围内的人

上面是获得排名前几的人。
我想获取指定分数范围内的人,怎么办呢?
比如我想获取1-11(不包含11)的人

ZRANGEBYSCORE chengji 1 (11

我想获取分数1-15内的人(包含15)

ZRANGEBYSCORE chengji 1 15

当然,范围可以是无穷大(+inf正无穷 -inf负无穷)
我要获取 1分以上 的人

ZRANGEBYSCORE chengji 1 +inf
加分、减分操作

给eric加6分

ZINCRBY chengji 6 eric //16

给eric减6分

ZINCRBY chengji -6 eric //10
获得有序集合中元素的数量
ZCARD chengji //3
有序集合的应用场景

通过有序集合,我们很容易实现:
按照文章访问量来排序文章。
文章的访问量作为score。
只要使用ZRANGE或者ZREVRANGE就可以了。
很方便。

更多精彩,请关注公众号“聊聊代码”,让我们一起聊聊“左手代码右手诗”的事儿。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/36287.html

相关文章

  • SegmentFault 技术周刊 Vol.37 - 分布式缓存利器:Redis

    摘要:持久化到中反向代理的负载均衡基于的集群搭建如何实现从中订阅消息转发到客户端的扩展是阻塞式,使用订阅发布模式时,会导致整个进程进入阻塞。缓存是用于解决高并发场景下系统的性能及稳定性问题的银弹。 showImg(https://segmentfault.com/img/bVYE6k?w=900&h=385); Redis 是由意大利程序员 Salvatore Sanfilippo(昵称:a...

    kuangcaibao 评论0 收藏0
  • SegmentFault 技术周刊 Vol.37 - 分布式缓存利器:Redis

    摘要:持久化到中反向代理的负载均衡基于的集群搭建如何实现从中订阅消息转发到客户端的扩展是阻塞式,使用订阅发布模式时,会导致整个进程进入阻塞。缓存是用于解决高并发场景下系统的性能及稳定性问题的银弹。 showImg(https://segmentfault.com/img/bVYE6k?w=900&h=385); Redis 是由意大利程序员 Salvatore Sanfilippo(昵称:a...

    binaryTree 评论0 收藏0
  • 慕课网_《Redis入门》学习总结

    摘要:时间年月日星期日说明本文部分内容均来自慕课网。当对应的链表存在时,从左侧插入数据。从右侧插入数据。当系统在定时持久化之前出现宕机,还未来得及往硬盘写入数据,那数据就丢失了。当数据集过大时,可能会导致服务器停止几百毫秒甚至是秒钟。 时间:2017年05月21日星期日说明:本文部分内容均来自慕课网。@慕课网:http://www.imooc.com教学示例源码:无个人学习源码:https:...

    Tonny 评论0 收藏0
  • 慕课网_《Redis入门》学习总结

    摘要:时间年月日星期日说明本文部分内容均来自慕课网。当对应的链表存在时,从左侧插入数据。从右侧插入数据。当系统在定时持久化之前出现宕机,还未来得及往硬盘写入数据,那数据就丢失了。当数据集过大时,可能会导致服务器停止几百毫秒甚至是秒钟。 时间:2017年05月21日星期日说明:本文部分内容均来自慕课网。@慕课网:http://www.imooc.com教学示例源码:无个人学习源码:https:...

    leanxi 评论0 收藏0
  • 慕课网_《Redis入门》学习总结

    摘要:时间年月日星期日说明本文部分内容均来自慕课网。当对应的链表存在时,从左侧插入数据。从右侧插入数据。当系统在定时持久化之前出现宕机,还未来得及往硬盘写入数据,那数据就丢失了。当数据集过大时,可能会导致服务器停止几百毫秒甚至是秒钟。 时间:2017年05月21日星期日说明:本文部分内容均来自慕课网。@慕课网:http://www.imooc.com教学示例源码:无个人学习源码:https:...

    lentoo 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<