面试题答案
一键面试- 添加玩家分数:
- 使用
ZADD
命令。例如,假设有序集合键名为game_scores
,玩家ID为player1
,分数为100
,在Redis客户端中执行:
ZADD game_scores 100 player1
ZADD
命令的第一个参数是有序集合的键名,第二个参数是分数,第三个参数是成员(这里即玩家ID)。可以一次添加多个成员及其分数,如ZADD game_scores 100 player1 200 player2
。
- 使用
- 获取某个玩家的排名:
- 使用
ZRANK
命令。若要获取player1
在game_scores
有序集合中的排名(从0开始),在Redis客户端执行:
ZRANK game_scores player1
- 如果要获取从高到低的排名(即从大到小,与通常排行榜概念一致),可以先获取总成员数,通过
ZCARD
命令获取game_scores
的成员数量,假设为total_count
,然后用total_count - ZRANK game_scores player1 - 1
来计算从高到低的排名。也可以使用ZREVRANK
命令直接获取从高到低的排名,如ZREVRANK game_scores player1
。
- 使用