跳到主要内容

认识

2025年01月06日
柏拉文
越努力,越幸运

一、认识


在需要实时更新的排行榜,如游戏得分榜等。我们可以使用 Redis有序集合 Sorted Set 功能。

二、语法


使用 Redis 的有序集合(ZSET)存储数据,通过 ZINCRBY 增加分数,并使用 ZRANGE 按分数获取排名。

const incrementScore = async (userId, score) => {
await redisClient.zIncrBy('leaderboard', score, userId);
};

const getLeaderboard = async (topN) => {
return await redisClient.zRangeWithScores('leaderboard', -topN, -1, { REV: true });
};

// 调用示例
await incrementScore('user1', 10);
const leaderboard = await getLeaderboard(10); // 获取前 10 名
console.log(leaderboard);