实习期间做项目涉及缓存,于是去了解一下Spring缓存。
1.缓存的引入:
无状态的组件一般来讲扩展性会更好,但它们也会更加倾向于一遍遍地问相同的问题。因为它们是无状态的,所以一旦当前的任务完成,就会丢弃掉已经获取到的所以解答,下一次需要相同的答案时,它们就不得不再问一遍这个问题。对于所提出的问题,有时候需要一点时间进行获取或计算才能得到答案。我们可能需要在数据库中获取数据,调用远程服务或者执行复杂的计算。为了得到答案,这就花费时间和资源。
2.缓存(Caching)可以存储经常用到的信息,这样每次需要的时候,这些信息都立即可用的。
尽管Spring自身并没有实现缓存解决方案,但是它对缓存功能提供了声明式的支持,能够与多种流行的缓存实现进行集成。
3.启用对缓存的支持
使用spring的缓存抽象时,最为通用的方式在方法上添加@Cacheable和@CacheEvict
注解。
在bean上添加缓存注解之前,必须要启用Spring对注解