当前位置:   article > 正文

使用redis进行缓存用户相关信息_一个登录用户相关的数据,怎么缓存起来

一个登录用户相关的数据,怎么缓存起来

使用redis进行缓存用户相关信息

使用redis进行查询之后缓存的流程:

  1. 优先从缓存中取值
  2. 取不到时去数据库查询,并初始化缓存数据
  3. 数据变更时清除缓存数据

在这里插入图片描述

主体代码实现

    //根据id查找用户
    @Override
    public User selectById(int id) {
//        User user = userDao.selectById(id);
//        return user;
        //先去缓存中去user数据,如果没有的话就去数据库中找,并在缓存中初始化一个数据。
        User user = getCache(id);
        if (user == null){
            user = initCache(id);
        }
        return user;
    }



//1.优先从缓存中取值
private User getCache(int userId){
    String redisKey = RedisKeyUtil.getUserKey(userId);
    return (User) redisTemplate.opsForValue().get(redisKey);
}
//2.取不到时初始化缓存数据
private User initCache(int userId){
    User user = userDao.selectById(userId);
    String redisKey = RedisKeyUtil.getUserKey(userId);
    redisTemplate.opsForValue().set(redisKey,user,3600, TimeUnit.SECONDS);
    return user;
}

//3.数据变更时清除缓存数据
private void clearCache(int userId){
    String redisKey = RedisKeyUtil.getUserKey(userId);
    redisTemplate.delete(redisKey);
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/581355
推荐阅读
相关标签
  

闽ICP备14008679号