spring boot不加@EnableCaching标签也一样可以在redis中存储缓存?

malie0 发布于 07/04 14:37
阅读 846
收藏 0

网上文章都是说需要在Application上加@EnableCaching注解才能让缓存使用redis,但是测试发现不用@EnableCaching也可以使用redis,是网上文章有问题吗?现在Application上用了@EnableAsync,@SpringBootApplication,@EnableTransactionManagement,@MapperScan这几个标签。

加载中
0
南湖船老大
南湖船老大

好多年没用springboot了,应该是自动装配了。sb的很多注解不需要你手动申明的,满足条件就会自动装配。你这个@EnableTransactionManagement 其实也是不需要写的,有dataSource bean,就能自动生效

0
Kit_lee
Kit_lee

可以用redis和@EnableCaching是两个概念

springboot只要发现你有redis的依赖就会做自动装配

但@EnableCaching是指自动装配的CacheManager这个Bean会否使用reids实现其API

Kit_lee
Kit_lee
回复 @malie0 : 就是这个意思,影响的只是CacheManager这个接口的自动实现。并不影响Redis客户端在Spring的使用
m
malie0
你的意思是用了@EnableCaching后CacheManager才会去用redis实现缓存,如果不加@EnableCaching的话@Cacheable就不会用redis做缓存是吗?
0
大知闲闲
大知闲闲

这只是一个spring boot的自动配置开关, 打开或者不打开, 都不影响你自己去构造一个redis的客户端, 随便你怎么用redis. 大部分情况下大家都选择spring boot的自动配置生效, 然后拿着它提供的api来操作redis, 除非大佬觉得boot的配置太垃圾, 一定要自己亲自操刀.

m
malie0
我的意思是这个开关配置是否决定了@Cacheable这个注解会使用redis做缓存?
0
f
freezingsky

cache-starter自动就有了

0
买房也用券
买房也用券

没事的话多看看源码和spring.io的文档吧😪

0
osc_03691302
osc_03691302

解释的都那么清晰了,还不懂啊🤣

OSCHINA
登录后可查看更多优质内容
返回顶部
顶部