跟着“小枫社长”用Redis搭建游戏排行榜
1.截图及源码 package test; import java.util.ArrayList; import java.util.List; import java.util.Set; import java.util.UUID; import redis.clients.jedis.Jedis; import redis.clients.jedis.Tuple; public class GameRankSample { static int TOTAL_SIZE = 20; public static void main(String[] args) { //Redis数据库连接地址 String host = 'r-uf6c4bbd31682d04.redis.rds.aliyuncs.com'; //连接密码 String password = 'Eg2Wv9Wd3P'; int port = 6379; Jedis jedis = new Jedis(host, port); try { String authString = jedis.auth(password); if (!authString.equals('OK')) { System.err.println('AUTH Failed: ' + authString); return; } //Key(键) String key = '游戏名:奔跑吧,阿里!'; //清除可能的已有数据 jedis.del(key); //模拟生成若干个游戏玩家 List playerList = new ArrayList(); for (int i = 0; i
System.out.println('玩家ID:'+item.getElement()+', 玩家得分:'+Double.valueOf(item.getScore()).intValue()); }
//输出打印Top5玩家排行榜 System.out.println(); System.out.println(' '+key); System.out.println(' Top 玩家'); scoreList = jedis.zrevrangeWithScores(key, 0, 4); for (Tuple item : scoreList) {
System.out.println('玩家ID:'+item.getElement()+', 玩家得分:'+Double.valueOf(item.getScore()).intValue()); } //输出打印特定玩家列表 System.out.println(); System.out.println(' '+key); System.out.println(' 积分在1000至2000的玩家'); //从对应key的SortedSet中获取已经积分在1000至2000的玩家列表 scoreList = jedis.zrangeByScoreWithScores(key, 1000, 2000); for (Tuple item : scoreList) {
System.out.println('玩家ID:'+item.getElement()+', 玩家得分:'+Double.valueOf(item.getScore()).intValue()); } } catch (Exception e) { e.printStackTrace(); }finally{ jedis.quit(); jedis.close(); } } } 2.感受 非常方便,不需要搭建基础环境,开箱即用,redis的调用也很简单。 3.困难 也不算是困难,下载地址没法正常下载,换了一个。 换成下面的地址 wget https://archive.apache.org/dist/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz 4.可以作为缓存数据库使用,加速数据库的访问。
赞2
踩0