对象缓存到redis


@Autowired
private StringRedisTemplate stringRedisTemplate;
public SeckillUser getSeckillUser(long id) {
        //查redis缓存
        String seckillGoods = stringRedisTemplate.opsForValue().get(SeckillUserKey.seckillUserKey.getPrefix() + id);
        if(!StringUtils.isEmpty(seckillGoods)){
            //如果不为空,把字符串转换成对象返回
            SeckillUser seckillUser = JSON.parseObject(seckillGoods, SeckillUser.class);
            return seckillUser;
        }
        //如果redis里面没有,就从数据库查
        SeckillUser seckillUser = seckUserMapper.selectById(id);
        //如果数据库里查出来了,就转换成json字符串添加到redis里
        if(seckillUser!=null){
            String seckillUserjson = JSON.toJSONString(seckillUser);
            stringRedisTemplate.opsForValue().set(SeckillUserKey.seckillUserKey.getPrefix() + id,seckillUserjson);
        }
        return seckillUser;
    }

 

posted @ 2020-07-30 15:58  neona  阅读(344)  评论(0编辑  收藏  举报