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 IP地址的绑定的实现
May 08 Redis
redis内存空间效率问题的深入探究
May 17 Redis
redis实现共同好友的思路详解
May 26 Redis
Jedis操作Redis实现模拟验证码发送功能
Sep 25 Redis
SpringBoot集成Redis的思路详解
Oct 16 Redis
Redis高并发防止秒杀超卖实战源码解决方案
Nov 01 Redis
分布式Redis Cluster集群搭建与Redis基本用法
Feb 24 Redis
使用Redis做预定库存缓存功能
Apr 02 Redis
Redis基本数据类型Set常用操作命令
Jun 01 Redis
Redis实现订单过期删除的方法步骤
Jun 05 Redis
一文教你快速生成MySQL数据库关系图
Jun 28 Redis
Redis实战之Lettuce的使用技巧详解
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 全文搜索和替换的实现代码
2008/07/29 PHP
使用php+swoole对client数据实时更新(一)
2016/01/07 PHP
浅谈socket同步和异步、阻塞和非阻塞、I/O模型
2016/12/15 PHP
Yii2.0使用阿里云OSS的SDK上传图片、下载、删除图片示例
2017/09/20 PHP
用javascript实现自定义标签
2007/05/08 Javascript
jQuery选中select控件 无法设置selected的解决方法
2010/09/01 Javascript
jQuery中outerWidth()方法用法实例
2015/01/19 Javascript
jQuery监控文本框事件并作相应处理的方法
2015/04/16 Javascript
jQuery滚动加载图片实现原理
2015/12/14 Javascript
使用postMesssage()实现iframe跨域页面间的信息传递
2016/03/29 Javascript
JS正则表达式判断有效数实例代码
2017/03/13 Javascript
Angular中使用$watch监听object属性值的变化(详解)
2017/04/24 Javascript
详解vue-cli + webpack 多页面实例应用
2017/04/25 Javascript
Vuejs 页面的区域化与组件封装的实现
2017/09/11 Javascript
vue.js打包之后可能会遇到的坑!
2018/06/03 Javascript
vue 项目地址去掉 #的方法
2018/10/20 Javascript
taro小程序添加骨架屏的实现代码
2019/11/15 Javascript
[00:36]DOTA2上海特级锦标赛 Archon战队宣传片
2016/03/04 DOTA
python运行时间的几种方法
2016/06/17 Python
tensorflow 1.0用CNN进行图像分类
2018/04/15 Python
让Python脚本暂停执行的几种方法(小结)
2019/07/11 Python
python实现画出e指数函数的图像
2019/11/21 Python
详解python的变量缓存机制
2021/01/24 Python
非常震撼的纯CSS3人物行走动画
2016/02/24 HTML / CSS
html5教程实现Photoshop渐变色效果
2013/12/04 HTML / CSS
使用HTML5 Canvas API绘制弧线的教程
2016/03/22 HTML / CSS
俄罗斯小米家用电器、电子产品和智能家居商店:Poood.ru
2020/04/03 全球购物
Farfetch澳大利亚官网:Farfetch Australia
2020/04/26 全球购物
公司募捐倡议书
2014/05/14 职场文书
建筑工程技术专业求职信
2014/07/16 职场文书
法学专业大学生实习自我鉴定
2014/10/05 职场文书
工作检讨书500字
2014/10/19 职场文书
2014年基层党建工作总结
2014/11/11 职场文书
如何使用PyCharm及常用配置详解
2021/06/03 Python
win11如何查看端口是否被占用? Win11查看端口是否占用的技巧
2022/04/05 数码科技
Valheim服务器 Mod修改安装教程 【ValheimPlus】
2022/12/24 Servers