网上文章都是说需要在Application上加@EnableCaching注解才能让缓存使用redis,但是测试发现不用@EnableCaching也可以使用redis,是网上文章有问题吗?现在Application上用了@EnableAsync,@SpringBootApplication,@EnableTransactionManagement,@MapperScan这几个标签。
网上文章都是说需要在Application上加@EnableCaching注解才能让缓存使用redis,但是测试发现不用@EnableCaching也可以使用redis,是网上文章有问题吗?现在Application上用了@EnableAsync,@SpringBootApplication,@EnableTransactionManagement,@MapperScan这几个标签。
没记错的话,那应该是Spring
定义的一套本地缓存规范(包括注解和接口,@Cacheable
, @CacheEvict
, @CachePut
, @Caching
, @CacheConfig
等),实现的话,像之前可以使用JDK HashMap
, Google Guava
, EhCache
等,位于spring-context-support
包下,类似于Spring Task
(实现可以用Quartz
、JDK ScheduledExecutorService
、JDK Timer
)只能处理单机业务,不能跨节点,所以分布式缓存的话,还是要直接集成Redis
客户端,微服务开发的项目就可以放弃了,单机还可以用用
4 回答1.3k 阅读✓ 已解决
1 回答2.6k 阅读✓ 已解决
1 回答991 阅读✓ 已解决
1 回答830 阅读✓ 已解决
2 回答1.7k 阅读
1 回答747 阅读✓ 已解决
2 回答1.5k 阅读
@EnableCaching
是启用缓存注解,你不用类似@Cacheable
这些注解,而是直接用redisTemplate
相关的直接操作那还是可以操作redis
的。Application
上,放到redis
的配置文件上也很正常。