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 相关文章推荐
为Java项目添加Redis缓存的方法
May 18 Redis
Redis 哨兵集群的实现
Jun 18 Redis
CentOS8.4安装Redis6.2.6的详细过程
Nov 20 Redis
关于使用Redisson订阅数问题
Jan 18 Redis
分布式Redis Cluster集群搭建与Redis基本用法
Feb 24 Redis
Redis中有序集合的内部实现方式的详细介绍
Mar 16 Redis
redis数据一致性的实现示例
Mar 18 Redis
Redis集群节点通信过程/原理流程分析
Mar 18 Redis
Redis 操作多个数据库的配置的方法实现
Mar 23 Redis
Grafana可视化监控系统结合SpringBoot使用
Apr 19 Redis
使用Redis实现分布式锁的方法
Jun 16 Redis
Redis配置外网可访问(redis远程连接不上)的方法
Dec 24 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中的替代语法介绍
2015/01/09 PHP
基于PHP的登录和注册的功能的实现
2020/08/06 PHP
JQuery中使用on方法绑定hover事件实例
2014/12/09 Javascript
js实现鼠标触发图片抖动效果的方法
2015/02/27 Javascript
Javascript函数中的arguments.callee用法实例分析
2016/09/16 Javascript
ES6新特征数字、数组、字符串
2016/10/01 Javascript
JS中闭包的经典用法小结(2则示例)
2016/12/28 Javascript
jQuery实现弹幕效果
2017/02/17 Javascript
Vue 实现对quill-editor组件中的工具栏添加title
2020/08/03 Javascript
使用vue引入maptalks地图及聚合效果的实现
2020/08/10 Javascript
在ironpython中利用装饰器执行SQL操作的例子
2015/05/02 Python
Python selenium 三种等待方式详解(必会)
2016/09/15 Python
Python中装饰器高级用法详解
2017/12/25 Python
Python基于xlrd模块操作Excel的方法示例
2018/06/21 Python
Python正则表达式指南 推荐
2018/10/09 Python
Python List cmp()知识点总结
2019/02/18 Python
python3 requests库文件上传与下载实现详解
2019/08/22 Python
Python获取当前脚本文件夹(Script)的绝对路径方法代码
2019/08/27 Python
Python笔记之观察者模式
2019/11/20 Python
python向图片里添加文字
2019/11/26 Python
Python利用PyExecJS库执行JS函数的案例分析
2019/12/18 Python
Python实现在Windows平台修改文件属性
2020/03/05 Python
Python实现Word文档转换Markdown的示例
2020/12/22 Python
三只松鼠官方旗舰店:全网坚果销售第1
2017/11/25 全球购物
马来西亚领先的在线礼品店:Giftr
2018/08/23 全球购物
化学相关工作求职信
2013/10/02 职场文书
仪器仪表检测毕业生自荐信
2013/10/31 职场文书
普通院校学生的自荐信
2013/11/27 职场文书
工作证明英文模板
2014/10/21 职场文书
网络妈妈观后感
2015/06/08 职场文书
生死抉择观后感
2015/06/09 职场文书
三下乡活动心得体会
2016/01/23 职场文书
小学四年级作文之写景
2019/08/23 职场文书
mysql优化
2021/04/06 MySQL
python学习之panda数据分析核心支持库
2021/05/07 Python
Windows Server 2016 配置 IIS 的详细步骤
2022/04/28 Servers