《JavaEE开发的颠覆者: Spring Boot实战》系列读书笔记
Spring boot的缓存机制
当我们需要重复地获取相同的数据的时候,大量的时间耗费在一次又一次的请求数据库中,导致程序性能恶化,浪费系统资源,这就需要缓存来解决这个问题。
我们知道内存的速度是远远快于硬盘的速度,缓存处理方式应该是:
-
1.先从缓存中拿数据,如果有,直接返回。
-
2.如果在缓存中没有此数据,则数据库查询,然后将查询结果存到缓存中。
类似的缓存技术有:Redis、EhCache、Guava等,现在一般常用的为Redis。
Spring Boot的缓存技术优势在于:
- 通过少量的配置注释即可使得既有代码支持缓存
- 支持开箱即用,即不用安装和部署额外第三方组件即可使用缓存
- 支持 SpEL(Spring Express Language),能使用对象的任何属性或者方法来定义缓存的 key 和 condition
- 支持 AspectJ,并通过其实现任何方法的缓存支持
- 支持自定义 key 和自定义缓存管理者,具有相当的灵活性和扩展性
对于缓存的操作,主要有:@Cacheable、@CachePut、&