java - Spring Boot - 如何在开发过程中禁用@Cacheable?

标签 java spring spring-boot spring-el spring-cache

我正在寻找两件事:

  1. 如何在开发过程中使用 Spring boot “dev” profile 禁用所有缓存。在 application.properties 中没有通用设置将其全部关闭。最简单的方法是什么?

  2. 如何禁用特定方法的缓存?我尝试像这样使用 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.properties 在这种情况下修改 application-dev.properties 并添加

spring.cache.type=NONE

这将禁用缓存。

关于java - Spring Boot - 如何在开发过程中禁用@Cacheable?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35917159/

相关文章:

java - Swing 库中的绘制矩形/填充矩形问题(包括图像)

java - 按钮子类 onClick 没有响应

java - maven - 指定 java 编译器颠覆

Spring Boot 启动器创建选项

Java - 以分钟为单位计算差异

spring - 为 spring boot 应用程序生成 war 包时,maven 构建失败?

spring - org.springframework.data.domain.Pageable 返回首页页码 0

spring-boot - spring-kafka @KafkaListener中的Acknowledgement.acknowledge()引发异常

spring-boot - Kubernetes 在单独的端口上使用 Spring Boot 应用程序进行事件/就绪检查

java - 如何使用 thymeleaf 构建包含请求参数的 URL 路径?