跟着“小枫社长”用Redis搭建游戏排行榜
Java 和redis 的游戏排名demo
private static final String REDIS_HOST = 'xxxx';
private static final int REDIS_PORT = 6379;
private static final String REDIS_PASSWORD = 'xxxx'; // 替换为实际的密码
private static final String RANKING_KEY = 'game_ranking';
public static void main(String[] args) {
// 连接到Redis服务器
Jedis jedis = new Jedis(REDIS_HOST, REDIS_PORT);
jedis.auth(REDIS_PASSWORD);
// 设置初始玩家分数
jedis.zadd(RANKING_KEY, 100, 'Player1');
jedis.zadd(RANKING_KEY, 250, 'Player2');
jedis.zadd(RANKING_KEY, 180, 'Player3');
jedis.zadd(RANKING_KEY, 400, 'Player4');
// 获取排名前三的玩家
Set topPlayers = jedis.zrevrangeWithScores(RANKING_KEY, 0, 2);
int rank = 1;
System.out.println('排名\t玩家\t分数');
for (Tuple tuple : topPlayers) {
System.out.println(rank++ + '\t' + tuple.getElement() + '\t' + tuple.getScore());
}
// 增加玩家分数
jedis.zincrby(RANKING_KEY, 150, 'Player1');
// 获取更新后的排名前三的玩家
topPlayers = jedis.zrevrangeWithScores(RANKING_KEY, 0, 2);
rank = 1;
System.out.println('更新后的排名\t玩家\t分数');
for (Tuple tuple : topPlayers) {
System.out.println(rank++ + '\t' + tuple.getElement() + '\t' + tuple.getScore());
}
// 关闭Redis连接
jedis.close();
}
赞2
踩0