赞
踩
使用redis进行查询之后缓存的流程:
//根据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); }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。