欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

RedisTemplate的2种使用方法以及修改序列化方式以及其他的常用操作

程序员文章站 2022-05-05 21:45:11
...

RedisTemplate的2种使用方法以及修改序列化方式以及其他的常用操作

/先去redis缓存中获取该,有:直接使用,没有:去数据库查询并存放到redis缓存中

        //修改key值的序列化方式
        redisTemplate.setKeySerializer(new StringRedisSerializer());

        //获取操作key=value的数据类型的redis的操作对象,并获取指定key的value值
        Double historyAverageRate = (Double) redisTemplate.opsForValue().get(Constants.HISTORY_AVERAGE_RATE);

        //判断是否有值
        if (null == historyAverageRate) {
            //没有值:去数据库查询
            historyAverageRate = loanInfoMapper.selectHistoryAverageRate();

            //将该值存放到redis缓存中
            redisTemplate.opsForValue().set(Constants.HISTORY_AVERAGE_RATE,historyAverageRate,15, TimeUnit.SECONDS);
        }

        return historyAverageRate;

RedisTemplate的2种使用方法以及修改序列化方式以及其他的常用操作
1> redis 的 increment的用法。

  @Autowired
    private RedisTemplate<Object,Object> redisTemplate;

    @Override
    public Long getOnlyNumber() {

        return redisTemplate.opsForValue().increment(Constants.ONLY_NUMBER,1);
    }

2> ZSet()的 reverseRangeWithScores 分数倒序的操作。

@Override
    public List<BidUserTop> queryBidUserTop() {
        List<BidUserTop> bidUserTopList = new ArrayList<BidUserTop>();

        Set<ZSetOperations.TypedTuple<Object>> typedTuples = redisTemplate.opsForZSet().reverseRangeWithScores(Constants.INVEST_TOP, 0, 9);

        Iterator<ZSetOperations.TypedTuple<Object>> iterator = typedTuples.iterator();

        while (iterator.hasNext()) {
            ZSetOperations.TypedTuple<Object> next = iterator.next();
            String phone = (String) next.getValue();
            Double score = next.getScore();
            BidUserTop bidUserTop = new BidUserTop();
            bidUserTop.setPhone(phone);
            bidUserTop.setScore(score);

            bidUserTopList.add(bidUserTop);
        }


         return bidUserTopList;
    }

3> zset 的 incrementScore

 

                    //将用户的投资金额存放到redis缓存中
                    redisTemplate.opsForZSet().incrementScore(Constants.INVEST_TOP, phone,(Double) paramMap.get("bidMoney"));
相关标签: java web开发