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
相关推荐
upper20208 小时前
【炒股学习】集合竞价
学习·区块链
以孝治家行动8 小时前
线上共读传孝道 身体力行润家风——以孝治家家教中心开展线上学习
学习
小智RE0-走在路上10 小时前
Python学习笔记(8) --函数的多返回值,不同传参,匿名函数
笔记·python·学习
摇滚侠10 小时前
Redis 零基础到进阶,Redis 哨兵监控,笔记63-73
数据库·redis·笔记
程序员卷卷狗10 小时前
Redis事务与MySQL事务有什么区别?一文分清
数据库·redis·mysql
挺6的还10 小时前
5.string类型
redis
charlie11451419111 小时前
现代C++嵌入式教程:C++98基础特性:从C到C++的演进(1)
c语言·开发语言·c++·笔记·学习·教程
喜欢吃豆11 小时前
我把 LLM 技术栈做成了一张“可复用的认知地图”:notes-on-llms 开源仓库介绍
学习·语言模型·架构·开源·大模型·多模态
学烹饪的小胡桃12 小时前
【运维学习】实时性能监控工具 WGCLOUD v3.6.2 更新介绍
linux·运维·服务器·学习·工单系统
nnsix12 小时前
QFramework学习笔记
笔记·学习