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实现分布式锁的方法(lua脚本版)
May 12 Redis
Redis高级数据类型Hyperloglog、Bitmap的使用
May 24 Redis
解析高可用Redis服务架构分析与搭建方案
Jun 20 Redis
解析Redis Cluster原理
Jun 21 Redis
聊一聊Redis与MySQL双写一致性如何保证
Jun 26 Redis
Redis Cluster集群动态扩容的实现
Jul 15 Redis
Redis+Lua脚本实现计数器接口防刷功能(升级版)
Feb 12 Redis
redis击穿 雪崩 穿透超详细解决方案梳理
Mar 17 Redis
Redis 操作多个数据库的配置的方法实现
Mar 23 Redis
redis复制有可能碰到的问题汇总
Apr 03 Redis
Redis实现一个账号只能登录一个设备
Apr 19 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与XML联手进行网站编程代码实例
2008/07/10 PHP
php 文件缓存函数
2011/10/08 PHP
XAMPP安装与使用方法详细解析
2013/11/27 PHP
php获取参数的几种方法总结
2014/02/18 PHP
laravel http 自定义公共验证和响应的方法
2019/09/29 PHP
jQuery 操作option的实现代码
2011/03/03 Javascript
关于js数组去重的问题小结
2014/01/24 Javascript
js跨浏览器的事件侦听器和事件对象的使用方法
2015/12/17 Javascript
jquery form表单获取内容以及绑定数据
2016/02/24 Javascript
微信小程序 教程之wxapp 视图容器 view
2016/10/19 Javascript
Javascript仿京东放大镜的效果
2017/03/01 Javascript
vue2.0多条件搜索组件使用详解
2020/03/26 Javascript
express框架实现基于Websocket建立的简易聊天室
2017/08/10 Javascript
layer.open 按钮的点击事件关闭方法
2018/08/17 Javascript
Vue面试题及Vue知识点整理
2018/10/07 Javascript
vue实现简单的星级评分组件源码
2018/11/16 Javascript
three.js搭建室内场景教程
2018/12/30 Javascript
vue生命周期与钩子函数简单示例
2019/03/13 Javascript
关于layui时间回显问题的解决方法
2019/09/24 Javascript
js实现从右往左匀速显示图片(无缝轮播)
2020/06/29 Javascript
[01:08:32]DOTA2-DPC中国联赛 正赛 DLG vs PHOENIX BO3 第二场 1月18日
2021/03/11 DOTA
python使用reportlab画图示例(含中文汉字)
2013/12/03 Python
Python3读取文件常用方法实例分析
2015/05/22 Python
spyder常用快捷键(分享)
2017/07/19 Python
Python实现统计给定列表中指定数字出现次数的方法
2018/04/11 Python
python编程使用协程并发的优缺点
2018/09/20 Python
浅谈python requests 的put, post 请求参数的问题
2019/01/02 Python
Python之列表实现栈的工作功能
2019/01/28 Python
学雷锋志愿服务月活动总结
2014/03/09 职场文书
设计顾问服务计划书
2014/05/04 职场文书
超越自我演讲稿
2014/05/21 职场文书
三八妇女节趣味活动方案
2014/08/23 职场文书
物业前台接待岗位职责
2015/04/03 职场文书
公司捐书倡议书
2015/04/27 职场文书
《雷雨》教学反思
2016/02/20 职场文书
Python采集壁纸并实现炫轮播
2022/04/30 Python