1. 不使用框架的缓存方案
第三方的缓存实现已经有很多,有 guava cache、redis、tair等,它们解决的是缓存的底层问题。
在不使用框架的情况下,参考之前的wikiGuava cache,在项目直接使用内存缓存。
在业务逻辑比较简单时,使用这种方式简答可靠,实现成本较低。不过在业务场景比较复杂的场景下,这种使用方式的缺点有
- 缓存逻辑与业务逻辑紧耦合
- 替换第三方缓存解决方案比较困难
2. spring的缓存解决方案
spring的缓存技术是一种对具体缓存技术使用的抽象,它是一层wrapper,提供出统一的API接口。再结合spring的AOP特性,可以在代码中使用注解来使用缓存。
所以spring的缓存解决方案天生具备以下特点