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 14 Redis
redis不能访问本机真实ip地址的解决方案
Jul 07 Redis
基于Redis的List实现特价商品列表功能
Aug 30 Redis
Redis三种集群模式详解
Oct 05 Redis
Redis模仿手机验证码发送的实现示例
Nov 02 Redis
Redis命令处理过程源码解析
Feb 12 Redis
Redis实战高并发之扣减库存项目
Apr 14 Redis
Redis 报错 error:NOAUTH Authentication required
May 15 Redis
浅谈Redis的事件驱动模型
May 30 Redis
关于Redis的主从复制及哨兵问题
Jun 16 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中将数组转成字符串并保存到数据库中的函数代码
2013/09/29 PHP
php+ajax 实现输入读取数据库显示匹配信息
2015/10/08 PHP
用PHP去掉文件头的Unicode签名(BOM)方法
2017/06/22 PHP
php过滤htmlspecialchars() 函数实现把预定义的字符转换为 HTML 实体用法分析
2019/06/25 PHP
php实现的表单验证类完整示例
2019/08/13 PHP
DWR Ext 加载数据
2009/03/22 Javascript
Jquery ui css framework
2010/06/28 Javascript
jquery数组过滤筛选方法grep()简介
2014/06/06 Javascript
jQuery+PHP星级评分实现方法
2015/10/02 Javascript
Angular 2父子组件数据传递之@Input和@Output详解 (上)
2017/07/05 Javascript
移动端Ionic App 资讯上下循环滚动的实现代码(跑马灯效果)
2017/08/29 Javascript
微信小程序中button组件的边框设置的实例详解
2017/09/27 Javascript
vue awesome swiper异步加载数据出现的bug问题
2018/07/03 Javascript
从零开始学习搭建React脚手架项目
2018/08/23 Javascript
jQuery实现获取及设置CSS样式操作详解
2018/09/05 jQuery
JS实现的类似微信聊天效果示例
2019/01/29 Javascript
JS关闭子窗口并且刷新上一个窗口的实现示例
2020/03/10 Javascript
node.js +mongdb实现登录功能
2020/06/18 Javascript
python脚本设置系统时间的两种方法
2016/02/21 Python
Python搭建APNS苹果推送通知推送服务的相关模块使用指南
2016/06/02 Python
Python语言描述随机梯度下降法
2018/01/04 Python
Python Paramiko模块的使用实际案例
2018/02/01 Python
python将txt等文件中的数据读为numpy数组的方法
2018/12/22 Python
Python celery原理及运行流程解析
2020/06/13 Python
python 实现客户端与服务端的通信
2020/12/23 Python
Python之多进程与多线程的使用
2021/02/23 Python
唤醒头发毛囊的秘密武器:Grow Gorgeous
2016/08/28 全球购物
装修五一活动策划案
2014/01/23 职场文书
红旗方阵解说词
2014/02/12 职场文书
岗位职责风险点
2014/03/12 职场文书
小学感恩节活动策划方案
2014/10/06 职场文书
煤矿百日安全活动总结
2015/05/07 职场文书
单位提档介绍信
2015/10/22 职场文书
小程序教您怎样你零成本推广获取数万用户的方法
2019/07/30 职场文书
导游词之天津古文化街
2019/11/09 职场文书
tomcat的catalina.out日志按自定义时间格式进行分割的操作方法
2022/04/02 Servers