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遍历所有key的两个命令(KEYS 和 SCAN)
Apr 12 Redis
深入浅析Redis 集群伸缩原理
May 15 Redis
Java Socket实现Redis客户端的详细说明
May 26 Redis
解析高可用Redis服务架构分析与搭建方案
Jun 20 Redis
Redis中一个String类型引发的惨案
Jul 25 Redis
SpringBoot整合Redis入门之缓存数据的方法
Nov 17 Redis
redis缓存存储Session原理机制
Nov 20 Redis
一文搞懂Redis中String数据类型
Apr 03 Redis
redis 解决库存并发问题实现数量控制
Apr 08 Redis
Redis基本数据类型Set常用操作命令
Jun 01 Redis
Redis全局ID生成器的实现
Jun 05 Redis
使用Redis实现分布式锁的方法
Jun 16 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
使用无限生命期Session的方法
2006/10/09 PHP
用header 发送cookie的php代码
2007/03/16 PHP
PHP时间戳使用实例代码
2008/06/07 PHP
MySql 按时间段查询数据方法(实例说明)
2008/11/02 PHP
PHP实现断点续传乱序合并文件的方法
2018/09/06 PHP
Laravel 实现在Blade模版中使用全局变量代替路径的例子
2019/10/22 PHP
javascript 常用关键字列表集合
2007/12/04 Javascript
input输入框的自动匹配(原生代码)
2013/03/19 Javascript
jscript读写二进制文件的方法
2015/04/22 Javascript
基于JavaScript实现生成名片、链接等二维码
2015/09/20 Javascript
基于Bootstrap3表格插件和分页插件实例详解
2016/05/17 Javascript
关于vue.js发布后路径引用的问题解决
2017/08/15 Javascript
基于JavaScript实现前端数据多条件筛选功能
2020/08/19 Javascript
javaScript手机号码校验工具类PhoneUtils详解
2017/12/08 Javascript
Angular网络请求的封装方法
2018/05/22 Javascript
Vue创建头部组件示例代码详解
2018/10/23 Javascript
vue请求本地自己编写的json文件的方法
2019/04/25 Javascript
[01:15]PWL S2开团时刻第二期——他们杀 我就白给
2020/11/25 DOTA
django实现登录时候输入密码错误5次锁定用户十分钟
2017/11/05 Python
python使用epoll实现服务端的方法
2018/10/16 Python
使用python实现语音文件的特征提取方法
2019/01/09 Python
Python正则表达式匹配数字和小数的方法
2019/07/03 Python
Python异常模块traceback用法实例分析
2019/10/22 Python
升级keras解决load_weights()中的未定义skip_mismatch关键字问题
2020/06/12 Python
Django Admin 上传文件到七牛云的示例代码
2020/06/20 Python
任意一块网页内容实现“活”的背景(目前火狐浏览器专有)
2014/05/07 HTML / CSS
CSS3 仿微信聊天小气泡实例代码
2017/04/05 HTML / CSS
HTML5添加鼠标悬浮音响效果不使用FLASH
2014/04/23 HTML / CSS
GWebs公司笔试题
2012/05/04 面试题
买房子个人收入证明
2014/01/16 职场文书
文明城市创建标语
2014/06/16 职场文书
高校师德师风自我剖析材料
2014/09/29 职场文书
考生诚信考试承诺书
2015/04/29 职场文书
新郎父母婚礼答谢词
2015/09/29 职场文书
Pytorch数据读取之Dataset和DataLoader知识总结
2021/05/23 Python
win11怎么消除图标小盾牌?win11消除图标小盾牌解决方法
2022/08/05 数码科技