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

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

阅读 2.5k
2 个回答
  • @EnableCaching是启用缓存注解,你不用类似@Cacheable这些注解,而是直接用redisTemplate相关的直接操作那还是可以操作redis的。
  • 或者是全局搜索下,不一定非要放到Application上,放到redis的配置文件上也很正常。

没记错的话,那应该是Spring定义的一套本地缓存规范(包括注解和接口,@Cacheable, @CacheEvict, @CachePut, @Caching, @CacheConfig等),实现的话,像之前可以使用JDK HashMap, Google Guava, EhCache等,位于spring-context-support包下,类似于Spring Task(实现可以用QuartzJDK ScheduledExecutorServiceJDK Timer)只能处理单机业务,不能跨节点,所以分布式缓存的话,还是要直接集成Redis客户端,微服务开发的项目就可以放弃了,单机还可以用用

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题