我的项目中有shiro和redis缓存,shiro的缓存是EhCacheManager,redis我配置了RedisCacheManager,这两个cachemanager产生了冲突,我直接在@cacheable指定那cacheManager也不行,有人遇见这个问题吗,有啥解决方案吗
springboot只支持一个. 为什么不都配置成redis缓存?######回复 @loyal : 怎么搞######回复 @0o涛涛o0 : 那就有一个不用springboot提供的CacheManager就行了.######shiro这块不是我负责,我在想能不能互相保留,互不影响######看了一下源码,大概思路就是这样,没实验。楼主思路有问题,不应该整合多个缓存管理器,应该想办法整合多个Cache区域。
@Bean public CacheManager cacheManager(RedisTemplate<Object, Object> redisTemplate) { SimpleCacheManager simpleCacheManager = new SimpleCacheManager();
ArrayList<Cache> caches = new ArrayList<>(); CacheManager manager =CacheManager.create("src/config/ehcache.xml"); Cache ehcacheNames = manager.getCache("ehcacheNames");
RedisCache redisCache=new RedisCache("redisCache",new DefaultRedisCachePrefix().prefix("redisCache"),redisTemplate,0); caches.add(ehcacheNames); caches.add(redisCache); simpleCacheManager.setCaches(caches); return simpleCacheManager; }
######使用的时候指定name对应的就是不同类型的缓存######分别设置不同的CacheName?版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。