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五大数据结构和使用场景
Apr 12 Redis
详解Redis实现限流的三种方式
Apr 27 Redis
详解RedisTemplate下Redis分布式锁引发的系列问题
Apr 27 Redis
Redis IP地址的绑定的实现
May 08 Redis
基于Redis过期事件实现订单超时取消
May 08 Redis
深入浅析Redis 集群伸缩原理
May 15 Redis
分布式Redis Cluster集群搭建与Redis基本用法
Feb 24 Redis
Redis中有序集合的内部实现方式的详细介绍
Mar 16 Redis
基于Redis6.2.6版本部署Redis Cluster集群的问题
Apr 01 Redis
redis 解决库存并发问题实现数量控制
Apr 08 Redis
Redis中key的过期删除策略和内存淘汰机制
Apr 12 Redis
Redis实现一个账号只能登录一个设备
Apr 19 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
批量获取memcache值并按key的顺序返回的实现代码
2011/06/14 PHP
深入eAccelerator与memcached的区别详解
2013/06/06 PHP
Codeigniter中mkdir创建目录遇到权限问题和解决方法
2014/07/25 PHP
基于PHP实现的事件机制实例分析
2015/06/18 PHP
日常整理PHP中简单的图形处理(经典)
2015/10/26 PHP
PHP生成随机码的思路与方法实例探索
2019/04/11 PHP
在Javascript中为String对象添加trim,ltrim,rtrim方法
2006/09/22 Javascript
JQuery中SetTimeOut传参问题探讨
2013/05/10 Javascript
Json实现异步请求提交评论无需跳转其他页面
2014/10/11 Javascript
bootstrap table 服务器端分页例子分享
2015/02/10 Javascript
javascript制作2048游戏
2015/03/30 Javascript
javascript实现任务栏消息提示的简单实例
2016/05/31 Javascript
15位和18位身份证JS校验的简单实例
2016/07/18 Javascript
JS函数修改html的元素内容,及修改属性内容的方法
2016/10/28 Javascript
JS验证不重复验证码
2017/02/10 Javascript
Ajax和Comet技术总结
2017/02/19 Javascript
JavaScript数组迭代方法
2017/03/03 Javascript
JavaScript实现星星等级评价功能
2017/03/22 Javascript
在axios中使用params传参的时候传入数组的方法
2018/09/25 Javascript
vue配置font-awesome5的方法步骤
2019/01/27 Javascript
原生js实现trigger方法示例代码
2019/05/22 Javascript
NodeJS多种创建WebSocket监听的方式(三种)
2020/06/04 NodeJs
[46:43]DOTA2上海特级锦标赛主赛事日 - 1 胜者组第一轮#2LGD VS MVP.Phx第二局
2016/03/02 DOTA
[01:23]2019完美世界全国高校联赛(春季赛)合肥全国总决赛
2019/06/10 DOTA
用python写asp详细讲解
2013/12/16 Python
教你用Python写安卓游戏外挂
2018/01/11 Python
Python 70行代码实现简单算式计算器解析
2019/08/30 Python
python中seaborn包常用图形使用详解
2019/11/25 Python
Python实现钉钉订阅消息功能
2020/01/14 Python
使用OpenCV校准鱼眼镜头的方法
2020/11/26 Python
高校生生产实习自我鉴定
2013/09/21 职场文书
机电一体化应届生求职信范文
2014/01/24 职场文书
超市促销活动方案
2014/03/05 职场文书
含预算的公司户外活动方案
2014/08/16 职场文书
学生退学证明
2015/06/23 职场文书
Mac环境Nginx配置和访问本地静态资源的实现
2021/03/31 Servers