前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >《redis in action》ZSet相关命令

《redis in action》ZSet相关命令

作者头像
写一点笔记
发布2022-08-11 16:03:41
2860
发布2022-08-11 16:03:41
举报
文章被收录于专栏:程序员备忘录程序员备忘录

zset类型数据提供了数据基于分数的排序功能,其数据结构就和hash数据结构类似。这种映射关系的数据结构允许我们去操作分数,或者获取、截取这些具有顺序的元素个体。在第一章中我们展示了一个简单的例子,使用zset来对发布的文章根据时间和投票的数据进行排序。本片文章我们将要讨论有关zset的一些其他操作命令,我们可以学习到如何添加和更新zset中的数据,当然我们也将了解如何使用zset数据结构进行intersection(差集)和并集的命令。当我们完成这块的学习之后,我们就会更好的理解第一章我我们有关zset的示例,以及后边的第五六七章的想滚内容。

代码语言:javascript
复制
zadd:添加一个给定分数的元素到zset中
zrem:移除多个指定的元素,并返回移除成功的个数
zcard:返回zset中元素的个数
zincrby:增加元素的分速
zcount:返回指定分数区间的元素的个数
zrank:返回给定元素的位置信息
zscore:返回指定元素的分数
zrange:返回元素和分数,从开始到结束位置

上边的截图示例中说的很明确,程序员学英语就应该看英文技术书啊!因为代码就是我们共同语言。学起来so easy 啦!

在此我们已经学习了zadd、zrem、zincrby、zscore以及zrange命令,这些命令都是常规命令,没有什么奇特的。但是这里的zcount命令不同于其他。zcount命令用来返回指定最小和最大分数之间的元素的个数。下边咋再介绍一些我们经常使用不到的命令。

代码语言:javascript
复制
zrevrank:返回反序的元素的地址
zrevrange:反序返回指定窗口的元素
zrangebyscore:返回介于最大和最小分数之间的元素
zrevrangebyscore:倒序返回介于最大和最小分数之间的元素
zremrangebyrank:删除指定窗口之间的元素
zremrangebyscore:删除介于指定分数区间的元素
zinterstore:求指定zset之间的交集并将其分数按指定策略保留,具体有和,最大,最小
zunionstore:求指定zset之间的并集,保留策略可以指定是和、最小、最大等

书中的截图很清晰,这里就不演示了。

zset的并集和交集第一次去理解还是有点困难的,这里我们展示一些图标来展示一下当我们执行这两个命令的时候redis都做了哪些事情。下图就是我们采用的求和策略。

和求交集不同,当我们使用并集的时候,之前保留在zset中的元素并不会消失,所有的元素都会被保留到结果集中,这块我们采用保留最小值得并集策略。

当然我们也可以采用求和的并集策略,这样我们就可以对两个zset中的分数进行合并,从而得到一个新的zset,这在工作中很常用。

在第七章,我们将使用zintrestore和zunionstore作为不同的检索分类,我们将要讨论不同渠道的zset分数的权重参数问题,这块使用set和zset就可以进行解决。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-03-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 写点笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 Redis
腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档