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 08 Redis
redis 限制内存使用大小的实现
May 08 Redis
基于Redis延迟队列的实现代码
May 13 Redis
5分钟教你docker安装启动redis全教程(全新方式)
May 29 Redis
浅谈Redis位图(Bitmap)及Redis二进制中的问题
Jul 15 Redis
Redis中一个String类型引发的惨案
Jul 25 Redis
在项目中使用redis做缓存的一些思路
Sep 14 Redis
redis缓存存储Session原理机制
Nov 20 Redis
linux下安装redis图文详细步骤
Dec 04 Redis
redis数据一致性的实现示例
Mar 18 Redis
Redis如何实现验证码发送 以及限制每日发送次数
Apr 18 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
PHP实现文件安全下载
2006/10/09 PHP
收藏的一个php小偷的核心程序
2007/04/09 PHP
关于url地址传参数时字符串有回车造成页面脚本赋值失败的解决方法
2013/06/28 PHP
php使用parse_url和parse_str解析URL
2015/02/22 PHP
ThinkPHP进程计数类Process用法实例详解
2015/09/25 PHP
php strftime函数获取日期时间(switch用法)
2018/05/16 PHP
用javascript操作xml
2006/11/04 Javascript
JQuery上传插件Uploadify使用详解及错误处理
2010/04/27 Javascript
JavaScript在IE和Firefox浏览器下的7个差异兼容写法小结
2010/06/18 Javascript
jquery对表单操作2
2011/04/06 Javascript
仅Firefox中链接A无法实现模拟点击以触发其默认行为
2011/07/31 Javascript
jquery如何把参数列严格转换成数组实现思路
2013/04/01 Javascript
浅析tr的隐藏和显示问题
2014/03/05 Javascript
javascript文件加载管理简单实现方法
2015/07/25 Javascript
JS触发服务器控件的单击事件(详解)
2016/08/06 Javascript
JavaScript SHA-256加密算法详细代码
2016/10/06 Javascript
Javascript将字符串日期格式化为yyyy-mm-dd的方法
2016/10/27 Javascript
AngularJS动态绑定HTML的方法分析
2016/11/07 Javascript
Vue2.0 从零开始_环境搭建操作步骤
2017/06/14 Javascript
JS失效 提示HTML1114: (UNICODE 字节顺序标记)的代码页 utf-8 覆盖(META 标记)的冲突的代码页 utf-8
2017/06/23 Javascript
IScroll5实现下拉刷新上拉加载的功能实例
2017/08/11 Javascript
Bootstrap table使用方法汇总
2017/11/17 Javascript
微信小程序实战篇之购物车的实现代码示例
2017/11/30 Javascript
Angular4.0中引入laydate.js日期插件的方法教程
2017/12/25 Javascript
LayUI表格批量删除方法
2018/08/15 Javascript
教你如何编写Vue.js的单元测试的方法
2018/10/17 Javascript
JavaScript this关键字的深入详解
2021/01/14 Javascript
python+pyqt5编写md5生成器
2019/03/18 Python
python实现同一局域网下传输图片
2020/03/20 Python
Python 的 f-string 可以连接字符串与数字的原因解析
2021/02/20 Python
财经学院自荐信范文
2014/02/02 职场文书
药品业务员岗位职责
2014/04/17 职场文书
2014党员学习兰辉先进事迹思想汇报
2014/09/17 职场文书
具结保证书
2015/01/17 职场文书
工厂清洁工岗位职责
2015/02/14 职场文书
MATLAB 全景图切割及盒图显示的实现步骤
2021/05/14 Python