public class RankDemo { static int TOTAL_SIZE = 20; public static void main(String[] args) { Jedis jedis = new Jedis(host, port); try { //实例密码 String authString = jedis.auth(host+":"+password);//password if (!authString.equals("OK")) { System.err.println("AUTH Failed: " + authString); return; } jedis.select(3); //Key(键) String key = "游戏名:奔跑吧,千寻!"; //清除可能的已有数据 jedis.del(key); //模拟生成若干个游戏玩家 List<String> playerList = new ArrayList<String>(); for (int i = 0; i < TOTAL_SIZE; ++i) { //随机生成每个玩家的ID playerList.add(UUID.randomUUID().toString()); } System.out.println("输入所有玩家 "); //记录每个玩家的得分 for (int i = 0; i < playerList.size(); i++) { //随机生成数字,模拟玩家的游戏得分 int score = (int)(Math.random()*5000); String member = playerList.get(i); System.out.println("玩家ID:" + member + ", 玩家得分: " + score); //将玩家的ID和得分,都加到对应key的SortedSet中去 jedis.zadd(key, score, member); } //输出打印全部玩家排行榜 System.out.println(); System.out.println(" "+key); System.out.println(" 全部玩家排行榜 "); //从对应key的SortedSet中获取已经排好序的玩家列表 Set<Tuple> scoreList = jedis.zrevrangeWithScores(key, 0, -1); for (Tuple item : scoreList) { 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(); } } }
运行结果
输入所有玩家 玩家ID:a05f1858-6821-4882-816f-f7f6eab7a231, 玩家得分: 1158 玩家ID:61207aff-8082-43d0-afbe-43b5c66c9097, 玩家得分: 2898 玩家ID:88ad4cd9-555b-4e38-ab21-a4da280b60d8, 玩家得分: 376 玩家ID:d28bb38d-9242-419e-a8e9-b3a448f1d9cf, 玩家得分: 3178 玩家ID:1c92c17c-9dfb-41c7-ac3e-5fa9d9faa9a7, 玩家得分: 3762 玩家ID:ca76a887-3ce3-41a2-8e5d-7f6d8fcaebca, 玩家得分: 1912 玩家ID:32e297ce-b06b-4dee-8889-664020a63f3a, 玩家得分: 1194 玩家ID:a9ae5d03-6774-4c9e-94fc-d9b6fdd34bd5, 玩家得分: 4593 玩家ID:0a9609bd-8ed2-4601-b686-27979db0f0f2, 玩家得分: 1137 玩家ID:cf4752a0-5d21-4c42-9c43-0a2a069ab6dd, 玩家得分: 3744 玩家ID:f1f42afa-8a9e-496f-a399-977a1cd0b319, 玩家得分: 3792 玩家ID:3094967b-cf08-4f38-bf5c-fcd5d7f40a9e, 玩家得分: 2333 玩家ID:c8a24d27-6708-450b-ba96-d9ec7fc7c49a, 玩家得分: 2074 玩家ID:bf0312a3-842b-4a72-9e19-33870c760b59, 玩家得分: 4014 玩家ID:b7d07f81-3ef5-48a3-9d30-33be747bb85d, 玩家得分: 637 玩家ID:ef995e80-a0f9-47b6-9422-b7df1ad195e9, 玩家得分: 4130 玩家ID:8ea7fad3-1e72-4d98-bbba-45631d89989f, 玩家得分: 818 玩家ID:9ef8ae4a-9075-4151-a1b2-8193038a9bbc, 玩家得分: 2551 玩家ID:e6d6e1a6-3a25-4341-bcae-4126b1f58d51, 玩家得分: 65 玩家ID:9147c85e-45cf-4046-8f50-7c561ce8dc2d, 玩家得分: 419 游戏名:奔跑吧,千寻! 全部玩家排行榜 玩家ID:a9ae5d03-6774-4c9e-94fc-d9b6fdd34bd5, 玩家得分:4593 玩家ID:ef995e80-a0f9-47b6-9422-b7df1ad195e9, 玩家得分:4130 玩家ID:bf0312a3-842b-4a72-9e19-33870c760b59, 玩家得分:4014 玩家ID:f1f42afa-8a9e-496f-a399-977a1cd0b319, 玩家得分:3792 玩家ID:1c92c17c-9dfb-41c7-ac3e-5fa9d9faa9a7, 玩家得分:3762 玩家ID:cf4752a0-5d21-4c42-9c43-0a2a069ab6dd, 玩家得分:3744 玩家ID:d28bb38d-9242-419e-a8e9-b3a448f1d9cf, 玩家得分:3178 玩家ID:61207aff-8082-43d0-afbe-43b5c66c9097, 玩家得分:2898 玩家ID:9ef8ae4a-9075-4151-a1b2-8193038a9bbc, 玩家得分:2551 玩家ID:3094967b-cf08-4f38-bf5c-fcd5d7f40a9e, 玩家得分:2333 玩家ID:c8a24d27-6708-450b-ba96-d9ec7fc7c49a, 玩家得分:2074 玩家ID:ca76a887-3ce3-41a2-8e5d-7f6d8fcaebca, 玩家得分:1912 玩家ID:32e297ce-b06b-4dee-8889-664020a63f3a, 玩家得分:1194 玩家ID:a05f1858-6821-4882-816f-f7f6eab7a231, 玩家得分:1158 玩家ID:0a9609bd-8ed2-4601-b686-27979db0f0f2, 玩家得分:1137 玩家ID:8ea7fad3-1e72-4d98-bbba-45631d89989f, 玩家得分:818 玩家ID:b7d07f81-3ef5-48a3-9d30-33be747bb85d, 玩家得分:637 玩家ID:9147c85e-45cf-4046-8f50-7c561ce8dc2d, 玩家得分:419 玩家ID:88ad4cd9-555b-4e38-ab21-a4da280b60d8, 玩家得分:376 玩家ID:e6d6e1a6-3a25-4341-bcae-4126b1f58d51, 玩家得分:65 游戏名:奔跑吧,千寻! Top 玩家 玩家ID:a9ae5d03-6774-4c9e-94fc-d9b6fdd34bd5, 玩家得分:4593 玩家ID:ef995e80-a0f9-47b6-9422-b7df1ad195e9, 玩家得分:4130 玩家ID:bf0312a3-842b-4a72-9e19-33870c760b59, 玩家得分:4014 玩家ID:f1f42afa-8a9e-496f-a399-977a1cd0b319, 玩家得分:3792 玩家ID:1c92c17c-9dfb-41c7-ac3e-5fa9d9faa9a7, 玩家得分:3762 游戏名:奔跑吧,千寻! 积分在1000至2000的玩家 玩家ID:0a9609bd-8ed2-4601-b686-27979db0f0f2, 玩家得分:1137 玩家ID:a05f1858-6821-4882-816f-f7f6eab7a231, 玩家得分:1158 玩家ID:32e297ce-b06b-4dee-8889-664020a63f3a, 玩家得分:1194 玩家ID:ca76a887-3ce3-41a2-8e5d-7f6d8fcaebca, 玩家得分:1912
此文章本站原创,地址 https://www.vxzsk.com/1266.html
转载请注明出处!谢谢!
感觉本站内容不错,读后有收获?小额赞助,鼓励网站分享出更好的教程
上一篇:Redis 性能
下一篇:redis 实现购物车和商品相关性
^