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 相关文章推荐
Redis延迟队列和分布式延迟队列的简答实现
May 13 Redis
分布式锁为什么要选择Zookeeper而不是Redis?看完这篇你就明白了
May 21 Redis
Java Socket实现Redis客户端的详细说明
May 26 Redis
详解Redis基本命令与使用场景
Jun 01 Redis
浅谈Redis中的RDB快照
Jun 29 Redis
厉害!这是Redis可视化工具最全的横向评测
Jul 15 Redis
Redis字典实现、Hash键冲突及渐进式rehash详解
Sep 04 Redis
Springboot/Springcloud项目集成redis进行存取的过程解析
Dec 04 Redis
在Centos 8.0中安装Redis服务器的教程详解
Mar 21 Redis
解决redis批量删除key值的问题
Mar 23 Redis
sentinel支持的redis高可用集群配置详解
Apr 01 Redis
redis 解决库存并发问题实现数量控制
Apr 08 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
php4的session功能评述(三)
2006/10/09 PHP
php中变量及部分适用方法
2008/03/27 PHP
php getimagesize 上传图片的长度和宽度检测代码
2010/05/15 PHP
详谈PHP编码转换问题
2015/07/28 PHP
使用PHPCMS搭建wap手机网站
2015/09/20 PHP
PHP导出Excel实例讲解
2016/01/24 PHP
php的api数据接口书写实例(推荐)
2016/09/22 PHP
PHP随机数函数rand()与mt_rand()的讲解
2019/03/25 PHP
thinkPHP3.2使用RBAC实现权限管理的实现
2019/08/27 PHP
用js得到网页中所有的div的id
2020/10/19 Javascript
jquery trigger伪造a标签的click事件取代window.open方法
2014/06/23 Javascript
浅谈JavaScript中的Math.atan()方法的使用
2015/06/14 Javascript
剖析Node.js异步编程中的回调与代码设计模式
2016/02/16 Javascript
浅谈JS如何实现真正的对象常量
2017/06/25 Javascript
React Native使用fetch实现图片上传的示例代码
2018/03/07 Javascript
微信小程序scroll-x失效的完美解决方法
2018/07/18 Javascript
JS加密插件CryptoJS实现的Base64加密示例
2020/08/16 Javascript
详解Vue CLI3 多页应用实践和源码设计
2018/08/30 Javascript
[01:02:34]TFT vs VGJ.T Supermajor 败者组 BO3 第二场 6.5
2018/06/06 DOTA
Python使用CMD模块更优雅的运行脚本
2015/05/11 Python
Python中装饰器兼容加括号和不加括号的写法详解
2017/07/05 Python
Python定时任务APScheduler的实例实例详解
2019/07/22 Python
PyCharm vs VSCode,作为python开发者,你更倾向哪种IDE呢?
2020/08/17 Python
Django集成MongoDB实现过程解析
2020/12/01 Python
电影T恤、80年代T恤和80年代服装:TV Store Online
2020/01/05 全球购物
教师党员思想汇报
2014/01/06 职场文书
学生打架检讨书1000字
2014/01/16 职场文书
征婚广告词
2014/03/17 职场文书
汽车维修专业自荐书
2014/05/26 职场文书
电气自动化求职信
2014/06/24 职场文书
研修心得体会
2014/09/04 职场文书
中国在我心中演讲稿
2014/09/13 职场文书
2015年销售人员工作总结
2015/04/07 职场文书
侵犯商业秘密的律师函
2015/05/27 职场文书
文案策划岗位个人自我评价(范文)
2019/08/08 职场文书
CSS实现隐藏搜索框功能(动画正反向序列)
2021/07/21 HTML / CSS