【发布时间】:2016-06-25 08:05:19
【问题描述】:
我正在寻找两件事:
如何在开发过程中使用 Spring 引导“dev”配置文件禁用所有缓存。在 application.properties 中没有通用设置将其全部关闭。最简单的方法是什么?
-
如何禁用特定方法的缓存?我尝试像这样使用 SpEl:
@Cacheable(value = "complex-calc", condition="#${spring.profiles.active} != 'dev'}") public String someBigCalculation(String input){ ... }
但我可以让它工作。关于 SO 有几个与此相关的问题,但它们指的是 XML 配置或其他东西,但我使用的是 Spring Boot 1.3.3,它使用自动配置。
我不想让事情过于复杂。
【问题讨论】:
-
将
spring.cache.type=NONE添加到您的application-dev.properties。 -
spring.cache.type=NONE不会关闭缓存,它会阻止缓存内容。即它仍然为您的程序添加了 27 层 AOP/拦截器堆栈,只是它不进行缓存。这取决于他所说的“全部关闭”是什么意思。
标签: java spring spring-boot spring-el spring-cache