当前位置:   article > 正文

使用redis 缓存策略_string rediskey = rediskeyutil.getuserkey(userid);

string rediskey = rediskeyutil.getuserkey(userid);

查询数据时:先查看redis 缓存中有没有数据,如果有从redis中取。如果没有查询数据库并设置到redis中。

更新数据时:先更新数据库,再删除redis中数据。

  1. //使用redis 缓存
  2. //1.优先从缓冲中取值
  3. public User getCache(int userId){
  4. String redisKey = RedisKeyUtils.getUserKey(userId);
  5. User user = (User) redisTemplate.opsForValue().get(redisKey);
  6. return user;
  7. }
  8. //2.取不到时初始化缓存数据
  9. public User initCache(int userId){
  10. String redisKey = RedisKeyUtils.getUserKey(userId);
  11. User user = userMapper.selectById(userId);
  12. redisTemplate.opsForValue().set(redisKey, user,3600, TimeUnit.SECONDS);
  13. return user;
  14. }
  15. //3.数据变更时删除缓存数据
  16. public void clearCache(int userId){
  17. String redisKey = RedisKeyUtils.getUserKey(userId);
  18. redisTemplate.delete(redisKey);
  19. }
  20. public User findUserById(int id){
  21. // User user = userMapper.selectById(id);
  22. User user = getCache(id);
  23. if(user == null){
  24. user = initCache(id);
  25. }
  26. return user;
  27. }

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/581328
推荐阅读
相关标签
  

闽ICP备14008679号