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 相关文章推荐
详解RedisTemplate下Redis分布式锁引发的系列问题
Apr 27 Redis
基于Redis过期事件实现订单超时取消
May 08 Redis
Redis延迟队列和分布式延迟队列的简答实现
May 13 Redis
Jedis操作Redis实现模拟验证码发送功能
Sep 25 Redis
SpringBoot集成Redis的思路详解
Oct 16 Redis
redis中lua脚本使用教程
Nov 01 Redis
Redis安装使用RedisJSON模块的方法
Mar 23 Redis
redis调用二维码时的不断刷新排查分析
Apr 01 Redis
Redis实现一个账号只能登录一个设备
Apr 19 Redis
详解Redis的三种常用的缓存读写策略步骤
May 06 Redis
Redis 限流器
May 15 Redis
Redis 异步机制
May 15 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生成迅雷、快车、旋风等软件的下载链接代码实例
2014/05/12 PHP
php blowfish加密解密算法
2016/07/02 PHP
jquery插件jbox使用iframe关闭问题
2009/02/09 Javascript
JQUERY获取form表单值的代码
2010/07/17 Javascript
js中Image对象以及对其预加载处理示例
2013/11/20 Javascript
jquery.cookie() 方法的使用(读取、写入、删除)
2013/12/05 Javascript
FF(火狐)浏览器无法执行window.close()解决方案
2014/11/13 Javascript
JavaScript中Cookie操作实例
2015/01/09 Javascript
javascript实现获取服务器时间
2015/05/19 Javascript
javascript引用类型之时间Date和数组Array
2015/08/27 Javascript
JS实现兼容各种浏览器的高级拖动方法完整实例【测试可用】
2016/06/21 Javascript
jQGrid动态填充select下拉框的选项值(动态填充)
2016/11/28 Javascript
webpack实用小功能介绍
2018/01/02 Javascript
vue2.0 自定义 饼状图 (Echarts)组件的方法
2018/03/02 Javascript
基于vue.js实现分页查询功能
2018/12/29 Javascript
浅谈一个webpack构建速度优化误区
2019/06/24 Javascript
uni-app 支持多端第三方地图定位的方法
2020/01/03 Javascript
react antd表格中渲染一张或多张图片的实例
2020/10/28 Javascript
Python多线程编程(七):使用Condition实现复杂同步
2015/04/05 Python
Python 两个列表的差集、并集和交集实现代码
2016/09/21 Python
Python爬虫爬取新浪微博内容示例【基于代理IP】
2018/08/03 Python
实例分析python3实现并发访问水平切分表
2018/09/29 Python
Python Matplotlib库安装与基本作图示例
2019/01/09 Python
python采集百度搜索结果带有特定URL的链接代码实例
2019/08/30 Python
python实现统计代码行数的小工具
2019/09/19 Python
柒牌官方商城:中国男装优秀品牌
2017/06/30 全球购物
介绍下java.util.Arrays类
2012/10/16 面试题
《宿建德江》教学反思
2014/04/23 职场文书
幼儿园六一儿童节主持词
2015/06/30 职场文书
解除合同协议书范本
2016/03/21 职场文书
创业计划书之便利店
2019/09/05 职场文书
Spring整合Mybatis的全过程
2021/06/28 Java/Android
sql注入教程之类型以及提交注入
2021/08/02 MySQL
教你使用一行Python代码玩遍童年的小游戏
2021/08/23 Python
python 离散点图画法的实现
2022/04/01 Python
springboot为异步任务规划自定义线程池的实现
2022/06/14 Java/Android