遇到的问题:
计划将cache从caffeine迁移到redis上,当redis未准备好或者连接有问题时,期望能不改代码继续使用caffeine。可以给redis config类加上开关,如果开才加载自定义的config,如:
- @ConditionalOnExpression("${redis.enabled:false}")
-
- public class RedisConfig {
- ......
- }
但是即使启动未加载RedisConfig类,仍然会报“Connection refused: no further information: localhost/127.0.0.1:6379”,说明启动时仍然默认使用了redis。
怎样才能禁用redis?
解决方法:在启动类中exclude RedisAutoConfiguration
- @SpringBootApplication(exclude = {RedisAutoConfiguration.class})
- public class DemoApplication {
- ......
- }