一般我们使用redis作为缓存服务器使用,在获取数据时,先从redis中获取数据,获取到数据则返回,若是没有获取到数据,则去数据库查询,并在得到查询结果后,将结果缓存到redis中,如果对数据一致性的要求比较高,我们还应该设置较短的缓存有效时间
加入依赖
修改主配置文件
然后即使,我们要讲实体类缓存到redis中,这其中涉及到序列化和反序列化,需要实体类需要实现序列化接口Serializable接口
在工程入口类上开启 @EnableCaching注解,开启缓存功能
在查询方法上添加@Cacheable注解,指定key、指定缓存空间
在增删该上添加@CacheEvict注解,指定缓存空间或者key、allEntries属性指定为true方法调用后,立即清除缓存
在主配置文件中注册缓存空间名称
在导入整合包以后,我们就可以导入模版了,模版的key和value要求类型相同,一般我们设为Obj,通用性好,还可以为String
在Service中通过模版对象获取到redis操作对象,然后对redis数据进行操作
为了避免热点key问题,一般要手动使用手段避免意外发生,下面为使用使用双重检测锁解决热点缓存问题
原文:https://www.cnblogs.com/msi-chen/p/10970856.html