1.引依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-cache</artifactId> </dependency>
2.在yml中设置缓存过期时间
spring: cache: redis: time-to-live: 1800000 #设置缓存数据的过期时间
3.注解使用
3.1 启动类 @EnableCaching注解,开启缓存
3.2 相关查询接口上,配置@Cacheable注解,将得到的数据以key(id)-value的形式存入缓存
3.3 相关删除接口上,配置@Cacheevict(value = "setmealCache",allEntries = true) //清除setmealCache名称下,所有的缓存数据
4.注意事项:
0. Spring Cache只是提供了一层抽象,底层可以切换不同的cache实现。具体就是通过CacheManager接口来统一不同的缓存技术。CacheManager是Spring提供的各种缓存技术抽象接口。
1.@CachePut 说明:作用: 将方法返回值,放入缓存
@Cacheevict 说明:作用: 清理指定缓存
@Cacheable 说明: 作用: 在方法执行前,spring先查看缓存中是否有数据,如果有数据,则直接返回缓存数据;若没有数据,调用方法并将方法返回值放到缓存中
2.@Cacheable 会将方法的返回值R缓存在Redis中,而在Redis中存储对象,该对象是需要被序列化的,而对象要想被成功的序列化,就必须得实现 Serializable 接口。
3.为了保证数据库中数据与缓存数据的一致性,在我们添加套餐或者删除套餐数据之后,需要清空当前套餐缓存的全部数据。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。