Redis 从入门到精通(八):有序集合操作详解

张开发
2026/4/10 6:37:16 15 分钟阅读

分享文章

Redis 从入门到精通(八):有序集合操作详解
系列导读本篇将深入讲解 Redis 有序集合(ZSet)的所有操作命令及实际应用场景。文章目录一、有序集合命令总览二、基础操作命令2.1 添加与删除2.2 分数操作2.3 统计操作三、范围查询命令3.1 按排名查询3.2 按分数查询3.3 集合运算四、实战应用场景4.1 排行榜4.2 延时队列4.3 热搜榜总结一、有序集合命令总览命令说明ZADD添加元素ZREM删除元素ZSCORE获取分数ZRANK获取排名ZRANGE按排名范围获取ZRANGEBYSCORE按分数范围获取ZCARD获取元素数量ZINCRBY增加分数二、基础操作命令2.1 添加与删除# 添加元素ZADD leaderboard100player1ZADD leaderboard200player2150player3# 删除元素ZREM leaderboardplayer1# 删除排名范围ZREMRANGEBYRANK leaderboard09# 删除分数范围ZREMRANGEBYSCORE leaderboard01002.2 分数操作# 获取分数ZSCORE leaderboardplayer1# 增加分数ZINCRBY leaderboard50player1# 获取排名从0开始ZRANK leaderboardplayer1# 获取排名倒序ZREVRANK leaderboardplayer12.3 统计操作# 获取元素数量ZCARD leaderboard# 统计分数范围内元素数量ZCOUNT leaderboard100200三、范围查询命令3.1 按排名查询# 正序获取ZRANGE leaderboard09ZRANGE leaderboard09WITHSCORES# 倒序获取ZREVRANGE leaderboard09WITHSCORES3.2 按分数查询# 按分数范围获取ZRANGEBYSCORE leaderboard100200ZRANGEBYSCORE leaderboard100200WITHSCORES ZRANGEBYSCORE leaderboard(100(200# 不包含边界# 倒序按分数获取ZREVRANGEBYSCORE leaderboard2001003.3 集合运算# 并集ZUNIONSTORE result2zset1 zset2# 交集ZINTERSTORE result2zset1 zset2四、实战应用场景4.1 排行榜# 更新分数ZINCRBY game:rank100player1# 获取Top 10ZREVRANGE game:rank09WITHSCORES# 获取用户排名ZREVRANK game:rankplayer14.2 延时队列# 添加延时任务时间戳作为分数ZADD delay:queue1712345678task:1# 获取到期任务ZRANGEBYSCORE delay:queue0当前时间戳4.3 热搜榜# 增加热度ZINCRBY hot:search1Redis教程# 获取热搜ZREVRANGE hot:search09WITHSCORES总结本文我们学习了✅基础操作ZADD/ZREM/ZSCORE/ZRANK✅范围查询ZRANGE/ZRANGEBYSCORE✅应用场景排行榜、延时队列、热搜榜下篇预告Redis 从入门到精通九事务详解作者刘~浪地球系列Redis 从入门到精通八更新时间2026-04-05

更多文章