zoukankan      html  css  js  c++  java
  • redis应用-sortedset实现排行榜(转载)

    package site.zy9.redisApp.test;
     
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    import java.util.Set;
     
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.support.ClassPathXmlApplicationContext;
     
    import redis.clients.jedis.Jedis;
    import redis.clients.jedis.JedisPool;
     
    public class RedisAppSix {
     
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            //redis的sortedset构建排行榜应用
            
            //不要用junit测试多线程,好坑
            ApplicationContext applicationContext = new ClassPathXmlApplicationContext("classpath:spring/applicationContext-*.xml");
            
            //存储用户得分记录
            Map<String, Double> userScore = new HashMap<>();
            
            //创建10条用户得分记录并依次插入,i同时作为用户标识和分数
            for(double i=1;i<11;i++){        
            //使用JedisPool获取jedis对象,因为JedisPool是线程安全的
                userScore.put(i+"", i);
            }
            
            JedisPool jedisPool = (JedisPool) applicationContext.getBean("jedisPool");
            Jedis resource = jedisPool.getResource();
            resource.zadd("userScore", userScore);
            //取排行前5的记录
            Set<String> zrevrange = resource.zrevrange("userScore", 0L, 4L);
            //取标识为10的用户排名
            Long zrank = resource.zrank("userScore", "10.0");
            resource.close();
            
            //输出
            System.out.println("排名前5的用户");
            for (String string : zrevrange) {
                System.out.print(string+" ");
            }
            System.out.println();
            //0为排名第一,可根据情况对结果+1
            System.out.println("用户10.0的排名 "+zrank);
        }
     
    }

    运行结果

    原文地址:https://blog.csdn.net/qq646040754/article/details/81094472

  • 相关阅读:
    八、Docker+RabbitMQ
    Spring.Net学习笔记一(IOC第一个实例)
    快速搞懂 SQL Server 的锁定和阻塞
    JQuery.Ajax()的data参数类型
    常用开源介绍
    AutoMapper简明教程(学习笔记)
    面向.Net程序员的前端优化
    --数组元素插入有两种方式
    JQuery源码分析-02正则表达式-RegExp-常用正则表达式
    关于ASP.NET MVC的Filter小记
  • 原文地址:https://www.cnblogs.com/draem0507/p/9357832.html
Copyright © 2011-2022 走看看