Redis基本数据类型Zset有序集合常用操作


Posted in Redis onJune 01, 2022

Redis数据类型Zset有序集合

有序集合和集合一样也是 string 类型元素的集合,且不允许重复的成员。

不同的是有序集合每个元素都会关联一个 double 类型的分数。redis 正是通过分数来为集合中的成员进行从小到大的排序。

有序集合的成员是唯一的,但分数(score)却可以重复。

集合是通过哈希表实现的,所以添加、删除、查找的复杂度都是 O(1)。

一、zadd

将一个或多个成员元素及其分数值加入到有序集当中。分数值可以是整数值或双精度浮点数。

若有序集合 key 不存在,则创建一个空的有序集并执行zadd操作。

若 key 存在但不是有序集类型时,返回一个错误。

zadd myzset 1 one 1.11 two 3.25 three

Redis基本数据类型Zset有序集合常用操作

二、zrange

返回有序集中,指定区间内的成员。其中成员的位置按分数值递增(从小到大)来排序。

具有相同分数值的成员按字典序(lexicographical order )来排列。

zrange myzset 0 -1

还可以带上分数返回:

zrange myzset 0 -1 WITHSCORES

Redis基本数据类型Zset有序集合常用操作

三、zrevrange

返回有序集中,指定区间内的成员。其中成员的位置按分数值递减(从大到小)来排列。

zrevrange myzset 0 -1 WITHSCORES

Redis基本数据类型Zset有序集合常用操作

四、zrangebyscore

返回有序集合中指定分数区间的成员列表。有序集成员按分数值递增(从小到大)次序排列。

zrangebyscore myzset (1 2 # 这里相当于 1< score <=2
zrangebyscore myzset 1 2 # 这里相当于 1<= score <=2
zrangebyscore myzset -inf +inf # 这里-inf +inf 相当于 负无穷、正无穷,显示出所有

Redis基本数据类型Zset有序集合常用操作

五、 zrem

移除有序集中的一个或多个成员,不存在的成员将被忽略。

zrem myzset one three four

Redis基本数据类型Zset有序集合常用操作

六、zcard

用于计算集合中元素的数量。

zcard myzset

Redis基本数据类型Zset有序集合常用操作

七、zcount

用于计算有序集合中指定分数区间的成员数量。

zcount myzset 2 5

Redis基本数据类型Zset有序集合常用操作

还有其他的命令,在使用过程中不清楚可以查看官方文档中的命令查询,非常详尽。

set的使用场景也很丰富,比如可以用来用作排序场景、存储工资表、班级成绩表、xx排行榜等等。

以上就是Redis基本数据类型Zset有序集合常用操作的详细内容,更多关于Redis数据类型Zset有序集合的资料请关注三水点靠木其它相关文章!


Tags in this post...

Redis 相关文章推荐
Redis5之后版本的高可用集群搭建的实现
Apr 27 Redis
Redis延迟队列和分布式延迟队列的简答实现
May 13 Redis
redis实现排行榜功能
May 24 Redis
Redis Cluster 字段模糊匹配及删除
May 27 Redis
redis不能访问本机真实ip地址的解决方案
Jul 07 Redis
Redis入门教程详解
Aug 30 Redis
使用redis实现延迟通知功能(Redis过期键通知)
Sep 04 Redis
基于Redis结合SpringBoot的秒杀案例详解
Oct 05 Redis
Window server中安装Redis的超详细教程
Nov 17 Redis
基于Redis zSet实现滑动窗口对短信进行防刷限流的问题
Feb 12 Redis
面试分析分布式架构Redis热点key大Value解决方案
Mar 13 Redis
浅谈Redis变慢的原因及排查方法
Jun 21 Redis
Redis特殊数据类型Geospatial地理空间
Jun 01 #Redis
Redis特殊数据类型HyperLogLog基数统计算法讲解
Jun 01 #Redis
Redis特殊数据类型bitmap位图
Jun 01 #Redis
浅谈Redis的事件驱动模型
May 30 #Redis
Redis 异步机制
Redis 报错 error:NOAUTH Authentication required
解决 redis 无法远程连接
You might like
超神学院:鹤熙已踏入神圣领域,实力不比凯莎弱
2020/03/02 国漫
PHP开发文件系统实例讲解
2006/10/09 PHP
Look And Say 序列php实现代码
2011/05/22 PHP
php自定义hash函数实例
2015/05/05 PHP
php微信公众号开发(4)php实现自定义关键字回复
2016/12/15 PHP
jQuery 使用手册(三)
2009/09/23 Javascript
使用JQUERY Tabs插件宿主IFRAMES
2010/01/01 Javascript
jquery入门—编写一个导航条(可伸缩)
2013/01/07 Javascript
javascript eval(func())使用示例
2013/12/05 Javascript
JavaScript将数组转换成CSV格式的方法
2015/03/19 Javascript
javascript实现全角半角检测的方法
2015/07/23 Javascript
AngularJs 60分钟入门基础教程
2016/04/03 Javascript
js替换字符串中所有指定的字符(实现代码)
2016/08/17 Javascript
jQuery实现标签页效果实战(4)
2017/02/08 Javascript
基于Vue2.0的分页组件
2017/03/16 Javascript
基于JavaScript实现的折半查找算法示例
2017/04/14 Javascript
使用Vue完成一个简单的todolist的方法
2017/12/01 Javascript
vue移动端实现手机左右滑动入场动画
2020/06/17 Javascript
微信小程序点击顶部导航栏切换样式代码实例
2019/11/12 Javascript
react基本安装与测试示例
2020/04/27 Javascript
python运行其他程序的实现方法
2017/07/14 Python
python过滤中英文标点符号的实例代码
2019/07/15 Python
Python3将jpg转为pdf文件的方法示例
2019/12/13 Python
python中使用input()函数获取用户输入值方式
2020/05/03 Python
Python中logger日志模块详解
2020/08/04 Python
安德玛比利时官网:Under Armour比利时
2019/08/28 全球购物
东方通信股份有限公司VC面试题
2014/08/27 面试题
印刷工程专业应届生求职信
2013/09/29 职场文书
中专药剂专业应届毕的自我评价
2013/12/27 职场文书
办公室秘书岗位职责范本
2014/02/11 职场文书
群众路线教育实践活动批评与自我批评
2014/09/15 职场文书
党的群众路线教育实践活动自我剖析材料
2014/10/08 职场文书
工作失误检讨书(3篇)
2014/10/11 职场文书
博士给导师的自荐信
2015/03/06 职场文书
MySQL 逻辑备份与恢复测试的相关总结
2021/05/14 MySQL
Python 用户输入和while循环的操作
2021/05/23 Python