前言
在实际的开发中,缓存的使用已经是随处可见了,就目前来看,普遍使用的比较多的大概就是redis了吧,但从编码的角度,纯粹使用redis去操作缓存,似乎并不是一个很好的选择
我们不妨来看下面这段代码(细节请暂时忽略)
@Autowired
private RedisTemplate<String,DbUser> redisTemplate;
public DbUser getUserById(String id) {
DbUser dbUser = redisTemplate.opsForValue().get("user:" + id);
if(dbUser != null){
return dbUser;
}
dbUser = dbUserMapper.getByUserId(id);
if(dbUser != null){
redisTemplate.opsForValue().set("user:"+id,dbUser);
}
return dbUser;
}
上面这段代码展现的是一个常规的使用redis缓存数据的做法,看完后,是不是觉得这样写挺麻烦的,如果程序中需要缓存的数据比较多,这么写不仅给编码带来了较大的工作量,而且实在是不方便对缓存key的管理,一旦需要缓存的数据多了,最后可能自己都整不清哪些key是需要删的
基于上面这个小小的痛点,在实际开发中,涉及到缓存比较多的项目,我们并不推荐直接使用上面这种方式操作缓存,而是引入springcache