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
Java Socket实现Redis客户端的详细说明
May 26 Redis
解析Redis Cluster原理
Jun 21 Redis
redis cluster支持pipeline的实现思路
Jun 23 Redis
浅析Redis Sentinel 与 Redis Cluster
Jun 24 Redis
redis使用不当导致应用卡死bug的过程解析
Jul 01 Redis
redis requires ruby version2.2.2的解决方案
Jul 15 Redis
Redis中一个String类型引发的惨案
Jul 25 Redis
基于Redis6.2.6版本部署Redis Cluster集群的问题
Apr 01 Redis
Redis 报错 error:NOAUTH Authentication required
May 15 Redis
Redis基本数据类型String常用操作命令
Jun 01 Redis
如何使用注解方式实现 Redis 分布式锁
Jul 23 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操作符与控制结构代码
2011/12/30 PHP
PHP的几个常用数字判断函数代码
2012/04/24 PHP
三个思路解决laravel上传文件报错:413 Request Entity Too Large问题
2017/11/13 PHP
鼠标图片振动代码
2006/07/06 Javascript
javascript 写类方式之三
2009/07/05 Javascript
JavaScript 内置对象属性及方法集合
2010/07/04 Javascript
新发现一个骗链接的方法(js读取cookies)
2012/01/11 Javascript
JS 实现Json查询的方法实例
2013/04/12 Javascript
jQuery模拟点击A标记示例参考
2014/04/17 Javascript
js实现屏幕自适应局部代码分享
2015/01/30 Javascript
AngularJS中的$watch(),$digest()和$apply()区分
2016/04/04 Javascript
node.js 动态执行脚本
2016/06/02 Javascript
原生JS下拉加载插件分享
2016/12/26 Javascript
es6的数字处理的方法(5个)
2017/03/16 Javascript
nodejs之get/post请求的几种方式小结
2017/07/26 NodeJs
Express + Session 实现登录验证功能
2017/09/08 Javascript
详解如何在React组件“外”使用父组件的Props
2018/01/12 Javascript
layui自己添加图片按钮并点击跳转页面的例子
2019/09/14 Javascript
详解Python文本操作相关模块
2017/06/22 Python
Python分析彩票记录并预测中奖号码过程详解
2019/07/09 Python
解决Django一个表单对应多个按钮的问题
2019/07/18 Python
3种python调用其他脚本的方法
2020/01/06 Python
python实现用户名密码校验
2020/03/18 Python
OpenCV 表盘指针自动读数的示例代码
2020/04/10 Python
超全Python图像处理讲解(多模块实现)
2020/04/13 Python
python如何进行矩阵运算
2020/06/05 Python
python绘制雷达图实例讲解
2021/01/03 Python
说出ArrayList,Vector, LinkedList的存储性能和特性
2015/01/04 面试题
电子商务专业推荐信范文
2013/12/02 职场文书
班主任工作年限证明
2014/01/12 职场文书
文艺晚会主持词
2014/03/24 职场文书
诉讼财产保全担保书
2014/05/20 职场文书
python 如何做一个识别率百分百的OCR
2021/05/29 Python
Java Spring 控制反转(IOC)容器详解
2021/10/05 Java/Android
Linux下使用C语言代码搭建一个简单的HTTP服务器
2022/04/13 Servers
Docker安装MySql8并远程访问的实现
2022/07/07 Servers