如何使用Spring框架的缓存体系

声明式缓存

在Spring中使用缓存的方式是声明式缓存, 只需要三步配置即可启用:

缓存声明

在需要缓存的方法上以注解的形式标识.

缓存配置

显式或隐式配置缓存数据存储后端(Redis, ConcurrentHashMap等).

在@Configuration配置类中加上@EnableCaching, 在应用范围内启用注解.

三级缓存策略定制

从上到下, 依次可以进行三次缓存策略的设定, 每一层都会覆盖上层的默认设定:

全局范围的定制: 配置在CacheManager和KeyGenerator中.

类级别的定制: 使用@CacheConfig注解;

方法级别的定制。

Key生成策略

说到底最终还是要以key-value的形式写到后端存储中, 那么Spring的Key生成策略就是值得考虑的. Spring默认的KeyGenerator使用以下算法:

如果没有参数, 返回SimpleKey.EMPTY

如果只有一个参数, 直接返回参数实例.

如果有多个参数, 那么返回一个包含所有参数的SimpleKey

点击此处
隐藏目录