Reids中的有序集合Zset

news/2024/11/20 9:33:07/

有序集合(ZSet)

文章目录

  • 有序集合(ZSet)
    • 常用命令
      • zadd
      • zrevrange
      • zrange
      • zrangebyscore/zrevrangebyscore
      • zscore
      • zcard
      • zrem
      • zincrby
      • zcount
      • zmpop
      • zrank /zrevrank

常用命令

命令作用
zadd key score member添加元素
zrevrange key start stop [withscores]遍历从大到小元素
zrange key start stop [withscores]遍历从小到大元素
zrangebyscore/zrevrangebyscore key min max [ withscores] [ LIMIT offset count]获取从小到大或者从大到小指定范围的元素
zscore key获取元素分数
zcard key获取集合中元素的数量
zrem key 某个score下对于的value值删除元素
zincrby key increment member增加某个元素的分数
zcount key min max获得指定分数范围内的元素个数
zmpop从键名列表中的第一个非空排序集中弹出一个或者多个元素
zrank key values值获取下标值
zrevrank key values值逆序获得下标

zadd

添加信息

127.0.0.1:6379> 
127.0.0.1:6379> zadd zset1 60 v1 70 v2 80 v3 90 v4 100 v5
(integer) 5

zrevrange

遍历从大到小

127.0.0.1:6379> zrevrange zset1 0 -1 withscores1) "v5"2) "100"3) "v4"4) "90"5) "v3"6) "80"7) "v2"8) "70"9) "v1"
10) "60"

zrange

遍历从小到大

127.0.0.1:6379> zrange zset1 0 -1 withscores1) "v1"2) "60"3) "v2"4) "70"5) "v3"6) "80"7) "v4"8) "90"9) "v5"
10) "100"

zrangebyscore/zrevrangebyscore

获取从小到大或者从大到小指定范围的元素

127.0.0.1:6379> zrange zset1 0 -1 withscores1) "v1"2) "60"3) "v2"4) "70"5) "v3"6) "80"7) "v4"8) "90"9) "v5"
10) "100"
127.0.0.1:6379> zrangebyscore zset1 60 90 
1) "v1"
2) "v2"
3) "v3"
4) "v4"
127.0.0.1:6379> zrangebyscore zset1 60 90 withscores
1) "v1"
2) "60"
3) "v2"
4) "70"
5) "v3"
6) "80"
7) "v4"
8) "90"
127.0.0.1:6379> zrangebyscore zset1 (60 90 withscores
1) "v2"
2) "70"
3) "v3"
4) "80"
5) "v4"
6) "90"
127.0.0.1:6379> zrangebyscore zset1 (60 90 withscores limit 0 2
1) "v2"
2) "70"
3) "v3"
4) "80"

zscore

获取元素的分数

127.0.0.1:6379> zscore zset1 v5
"100"

zcard

获取集合中元素的数量

127.0.0.1:6379> zcard zset1
(integer) 5

zrem

删除元素

127.0.0.1:6379> zrem zset1 v5
(integer) 1

zincrby

增加某个元素的分数

127.0.0.1:6379> zincrby zset1 3 v1
"63"

zcount

获得指定分数范围内的元素个数

127.0.0.1:6379> zcount zset1 60 90
(integer) 4

zmpop

从键名列表中的第一个非空排序集中弹出一个或者多个元素

127.0.0.1:6379> zmpop 1 zset1 min count 1
1) "zset1"
2) 1) 1) "v1"2) "63"
127.0.0.1:6379> zrevrange zset1 0 -1
1) "v4"
2) "v3"
3) "v2"

zrank /zrevrank

zrank key values值 获取下标值

zrevrank key values值 逆序获得下标

127.0.0.1:6379> zrange zset1 0 -1
1) "v2"
2) "v3"
3) "v4"
127.0.0.1:6379> zrank zset1 v2
(integer) 0
127.0.0.1:6379> zrevrank zset1 v2
(integer) 2

http://www.ppmy.cn/news/34816.html

相关文章

【Java集合面试宝典】HashMap的put流程和特性?HashMap的扩容机制?原理— day08

目录 数组和链表分别适用于什么场景,为什么? 数组 链表 List和Set的区别 List和Map、Set的区别 HashMap 、HashTable 和TreeMap有什么区别? hashmap的特性 HashMap和HashTable有什么区别?(必会) J…

服务端测试知识汇总

目录 服务端测试思想 经济学⻆度 ⾦字塔模型 技术⻆度 HTTP协议 三次握⼿ HTTP完整请求 通信模式 URI信息 请求⽅法 请求状态码 请求/响应头 常⽤请求数据格式 COOKIE请求流程 SESSION请求流程 TOKEN请求流程 API测试维度 单接⼝测试 多个接⼝测试 …

UEngine 运行器帮助

UEngine 运行器帮助 帮助简述 安装APK:点浏览按钮,选中需要安装的APK,然后点安装按钮 卸载APK:在卸载APK下面的输入框内输入需要卸载的APK包名,点卸载按钮,如果无法获取包名,可以通过浏览APK文件…

给准备面试网络工程师岗位的应届生一些建议

你听完这个故事,应该会有所收获。最近有一个23届毕业的大学生和我聊天,他现在网络工程专业大四,因为今年6、7月份的时候毕业,所以现在面临找工作的问题。不管是现在找一份实习工作,还是毕业后找一份正式工作&#xff0…

钉钉发送消息 java

1、完成钉钉认证才能使用此功能 2、需要登录控制台进行创建应用操作 https://open-dev.dingtalk.com/fe/app 3、需要设置 权限范围及通讯录权限设置 参考 https://www.ngui.cc/el/778161.html?actiononClick pom <dependency><groupId>com.aliyun</groupId&g…

Springboot怎么实现WebSocket通信(二)

前言上一篇文章分享了单机模式下&#xff0c;websocket的基本使用方法&#xff0c;但在实际的业务中&#xff0c;通常是不会这样使用的&#xff0c;大部项目都是分布式部署的&#xff0c;一个工程布署了多个服务节点&#xff0c;前端并不直接请求具体服务节点&#xff0c;而是先…

Java开发常用网址,推荐一些能帮助我们提升开发效率和学识巩固的网址,值得收藏

1.前言 推荐一些能帮助我们提升开发效率和学识巩固的网址&#xff0c;值得收藏 2.网址信息 1.在线工具&#xff1a; 1.Json格式化&#xff1a;https://www.json.cn 2.Cron时间表达式&#xff1a;https://cron.qqe2.com 3.Xml格式化&#xff1a;https://tool.ip138.com/xm…

【Unity3D-BUG记录】Unity3D中出现“动画片段必须标记为Legacy的警告”消除方法

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享简书地址我的个人博客 大家好&#xff0c;我是佛系工程师☆恬静的小魔龙☆&#xff0c;不定时更新Unity开发技巧&#xff0c;觉得有用记得一键三连哦。 一、前言 在开发中可能会遇到下面的警告&#xff1a; The AnimationClip…