redis之zset命令学习

redis之zset命令学习

zset是一个不包含重复元素的字符串集合,且每个元素都会关联一个 double 类型的分数(score)。这使得有序集合既可以通过成员(member)来查询,也可以通过分数(score)来排序。

以下是zset的一些简单命令

向有序集合中加入一个元素和该元素的分数:

bash 复制代码
127.0.0.1:6379> zadd student 1 zhangsan 2 lisi 3 wangwu      //添加三个元素
(integer) 3

按照元素分数从小到大的顺序返回索引从start到stop之间的所有元素:

bash 复制代码
127.0.0.1:6379> zrange student 0 2     
1) "zhangsan"
2) "lisi"
3) "wangwu"

获取元素的分数:

bash 复制代码
127.0.0.1:6379> zscore student lisi
"2"

删除元素:

bash 复制代码
127.0.0.1:6379> zrem student lisi
(integer) 1

获取指定分数范围的元素:

bash 复制代码
127.0.0.1:6379> zadd student 4 zhaoliu 5 xiaohao 15 xiaohong
(integer) 3
127.0.0.1:6379> zrangebyscore student 1 8
1) "zhangsan"
2) "wangwu"
3) "zhaoliu"
4) "xiaohao"

增加某个元素的分数:

bash 复制代码
127.0.0.1:6379> ZINCRBY student 7 zhaoliu
"11"

获取集合中的元素数量:

bash 复制代码
127.0.0.1:6379> zcard student
(integer) 5

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

bash 复制代码
127.0.0.1:6379> zcount student 1 7
(integer) 3

按照排名范围删除元素:

bash 复制代码
127.0.0.1:6379> ZREMRANGEBYRANK student 2 4
(integer) 3
127.0.0.1:6379> zrangebyscore student 1 100
1) "zhangsan"
2) "wangwu"

获取元素的排名:

从小到大:

bash 复制代码
127.0.0.1:6379>  zrangebyscore student 1 100
1) "zhangsan"
2) "wangwu"
3) "wujie"
4) "wuhao"
5) "xinxin"
6) "xiaolong"
127.0.0.1:6379> zrank student wujie
(integer) 2

从大到小:

bash 复制代码
127.0.0.1:6379> zrevrank student wujie
(integer) 3
相关推荐
星幻元宇VR1 小时前
公共安全实训展厅设备【人防知识学习系统】
科技·学习·安全
心中有国也有家4 小时前
AtomGit Flutter 鸿蒙客户端:情绪日记的时间线实现
学习·flutter·华为·harmonyos
百里香酚兰5 小时前
【python学习笔记】pyttsx3库疑似只播报一次语音
笔记·python·学习
恣逍信点5 小时前
《凌微经》助读:本体论根基——“无之自悖”与“形性一体”
人工智能·科技·学习·程序人生·生活·交友·哲学
耀耀_很无聊6 小时前
12_Redis Lua 脚本踩坑:为什么 tonumber(ARGV[x]) 会得到 nil?
java·redis·lua
chh5637 小时前
C++--string
java·开发语言·网络·c++·学习
浩瀚地学8 小时前
【Java基础复习】IO流(四)
java·开发语言·经验分享·笔记·学习
Rain的Java大神实战圈8 小时前
高并发下如何防止商品超卖少卖
经验分享·redis·高并发·架构设计·电商·面试经验
心中有国也有家8 小时前
AtomGit Flutter 鸿蒙客户端:一键记录情绪的极致体验
学习·flutter·华为·harmonyos
lauo8 小时前
从52起融资看教育科技新范式:PopLang引擎与Token节点经济如何重塑AI学习终端
人工智能·科技·学习