欢迎来到天天文库
浏览记录
ID:35885610
大小:152.52 KB
页数:20页
时间:2019-04-22
《阿里云数据库Redis版-最佳实践-D》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、云数据库Redis版最佳实践云数据库Redis版/最佳实践最佳实践游戏玩家积分排行榜场景介绍ApsaraDBforRedis在功能上与Redis基本一致,因此很容易用它来实现一个在线游戏中的积分排行榜功能。代码示例importjava.util.ArrayList;importjava.util.List;importjava.util.Set;importjava.util.UUID;importredis.clients.jedis.Jedis;importredis.clients.jedis.Tuple;publicclassGame
2、RankSample{staticintTOTAL_SIZE=20;publicstaticvoidmain(String[]args){//连接信息,从控制台可以获得Stringhost="xxxxxxxxxx.m.cnhz1.kvstore.aliyuncs.com";intport=6379;Jedisjedis=newJedis(host,port);try{//实例ID及密码StringauthString=jedis.auth("xxxxxxxxxx:yyyyyyy");//kvstore_instance_id:password
3、if(!authString.equals("OK")){System.err.println("AUTHFailed:"+authString);return;}//Key(键)Stringkey="游戏名:奔跑吧,阿里!";19云数据库Redis版/最佳实践//清除可能的已有数据jedis.del(key);//模拟生成若干个游戏玩家ListplayerList=newArrayList();for(inti=0;i4、UID.randomUUID().toString());}System.out.println("输入所有玩家");//记录每个玩家的得分for(inti=0;i5、dis.zadd(key,score,member);}//输出打印全部玩家排行榜System.out.println();System.out.println(""+key);System.out.println("全部玩家排行榜");//从对应key的SortedSet中获取已经排好序的玩家列表SetscoreList=jedis.zrevrangeWithScores(key,0,-1);for(Tupleitem:scoreList){System.out.println("玩家ID:"+item.getElement(6、)+",玩家得分:"+Double.valueOf(item.getScore()).intValue());}//输出打印Top5玩家排行榜System.out.println();System.out.println(""+key);System.out.println("Top玩家");scoreList=jedis.zrevrangeWithScores(key,0,4);for(Tupleitem:scoreList){System.out.println("玩家ID:"+item.getElement()+",玩家得分:"+Dou7、ble.valueOf(item.getScore()).intValue());}//输出打印特定玩家列表System.out.println();System.out.println(""+key);System.out.println("积分在1000至2000的玩家");19云数据库Redis版/最佳实践//从对应key的SortedSet中获取已经积分在1000至2000的玩家列表scoreList=jedis.zrangeByScoreWithScores(key,1000,2000);for(Tupleitem:scoreLis8、t){System.out.println("玩家ID:"+item.getElement()+",玩家得分:"+Double.valueOf(item.getSc
4、UID.randomUUID().toString());}System.out.println("输入所有玩家");//记录每个玩家的得分for(inti=0;i5、dis.zadd(key,score,member);}//输出打印全部玩家排行榜System.out.println();System.out.println(""+key);System.out.println("全部玩家排行榜");//从对应key的SortedSet中获取已经排好序的玩家列表SetscoreList=jedis.zrevrangeWithScores(key,0,-1);for(Tupleitem:scoreList){System.out.println("玩家ID:"+item.getElement(6、)+",玩家得分:"+Double.valueOf(item.getScore()).intValue());}//输出打印Top5玩家排行榜System.out.println();System.out.println(""+key);System.out.println("Top玩家");scoreList=jedis.zrevrangeWithScores(key,0,4);for(Tupleitem:scoreList){System.out.println("玩家ID:"+item.getElement()+",玩家得分:"+Dou7、ble.valueOf(item.getScore()).intValue());}//输出打印特定玩家列表System.out.println();System.out.println(""+key);System.out.println("积分在1000至2000的玩家");19云数据库Redis版/最佳实践//从对应key的SortedSet中获取已经积分在1000至2000的玩家列表scoreList=jedis.zrangeByScoreWithScores(key,1000,2000);for(Tupleitem:scoreLis8、t){System.out.println("玩家ID:"+item.getElement()+",玩家得分:"+Double.valueOf(item.getSc
5、dis.zadd(key,score,member);}//输出打印全部玩家排行榜System.out.println();System.out.println(""+key);System.out.println("全部玩家排行榜");//从对应key的SortedSet中获取已经排好序的玩家列表SetscoreList=jedis.zrevrangeWithScores(key,0,-1);for(Tupleitem:scoreList){System.out.println("玩家ID:"+item.getElement(
6、)+",玩家得分:"+Double.valueOf(item.getScore()).intValue());}//输出打印Top5玩家排行榜System.out.println();System.out.println(""+key);System.out.println("Top玩家");scoreList=jedis.zrevrangeWithScores(key,0,4);for(Tupleitem:scoreList){System.out.println("玩家ID:"+item.getElement()+",玩家得分:"+Dou
7、ble.valueOf(item.getScore()).intValue());}//输出打印特定玩家列表System.out.println();System.out.println(""+key);System.out.println("积分在1000至2000的玩家");19云数据库Redis版/最佳实践//从对应key的SortedSet中获取已经积分在1000至2000的玩家列表scoreList=jedis.zrangeByScoreWithScores(key,1000,2000);for(Tupleitem:scoreLis
8、t){System.out.println("玩家ID:"+item.getElement()+",玩家得分:"+Double.valueOf(item.getSc
此文档下载收益归作者所有