微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

瑞吉点餐 day04 技术点一: redis缓存配置

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] 举报,一经查实,本站将立刻删除。

相关推荐