Redis核心数据结构-ZSet

--- Sorted Set (ZSet): 有序集合 ---

每个元素带有一个 Score,按 Score 排序

1. 排行榜 (Leaderboard)

添加玩家分数

ZADD leaderboard 100 "PlayerA"

ZADD leaderboard 200 "PlayerB"

ZADD leaderboard 150 "PlayerC"

2. 查询排名

获取前 3 名 (分数从低到高)

ZRANGE leaderboard 0 2 withscores

获取前 3 名 (分数从高到低 - 常用)

ZREVRANGE leaderboard 0 2 withscores

结果: PlayerB(200), PlayerC(150), PlayerA(100)

3. 更新分数

PlayerA 得分增加了 50

ZINCRBY leaderboard 50 "PlayerA"

4. 按分数范围查询

查询分数在 100 到 200 之间的玩家

ZRANGEBYSCORE leaderboard 100 200

5. 获取特定玩家的排名 (从 0 开始)

ZREVRANK leaderboard "PlayerA"

bash 复制代码
127.0.0.1:6379> ZADD leaderboard 100 "PlayerA"
(integer) 1
127.0.0.1:6379> ZADD leaderboard 200 "PlayerB"
(integer) 1
127.0.0.1:6379> ZADD leaderboard 150 "PlayerC"
(integer) 1
127.0.0.1:6379> ZRANGE leaderboard 0 2 withscores
1) "PlayerA"
2) "100"
3) "PlayerC"
4) "150"
5) "PlayerB"
6) "200"
127.0.0.1:6379> ZREVRANGE leaderboard 0 2 withscores
1) "PlayerB"
2) "200"
3) "PlayerC"
4) "150"
5) "PlayerA"
6) "100"
127.0.0.1:6379> ZINCRBY leaderboard 50 "PlayerA"
"150"
127.0.0.1:6379> ZRANGEBYSCORE leaderboard 100 200
1) "PlayerA"
2) "PlayerC"
3) "PlayerB"
127.0.0.1:6379> ZREVRANK leaderboard "PlayerA"
(integer) 2
相关推荐
用户095367515832 小时前
在系统的学习 redis 前的疑惑
redis·go
ChaoZiLL2 小时前
我的数据结构4-栈和队列
数据结构
miller-tsunami2 小时前
顺序表相关知识点
数据结构·顺序表
吴声子夜歌4 小时前
Redis 3.x——集群故障转移
java·数据库·redis·集群
华玥作者5 小时前
uniapp 万条数据不卡顿:我写了个虚拟列表组件 hy-list,原生支持瀑布流
数据结构·uni-app·list·vue3
2401_841495645 小时前
【数据结构】B*树
数据结构·c++·b树·算法·删除·插入·三分分裂
明豆5 小时前
Redis 分布式缓存生产实战
redis·分布式·缓存
不如语冰6 小时前
AI大模型入门-模块导入import
数据结构·人工智能·pytorch·python
岑梓铭6 小时前
《考研408数据结构》第七章(7.1 查找:顺序查找、折半查找、分块查找)复习笔记
数据结构·笔记·考研·408·ds·查找
海兰6 小时前
【高速缓存】RedisVL 指南:从向量搜索到 AI 应用落地
人工智能·redis