Я пытаюсь иметь две реализации кеша для объектов другого типа в моем приложении загрузки весной. Я хочу сохранить определенные объекты в redis cache, тогда как другой объект в кеше guava основан на методе. Всякий раз, когда я реализую два calsses, которые расширяют CachingConfigurerSupport, я получаю сообщение об ошибке, допускающей только один экземпляр этого класса. Может ли кто-нибудь предложить, как я могу это сделать?можно использовать несколько типов кеша (redis & guava) при загрузке весны одновременно?
0
A
ответ
0
вы можете использовать CompositeCacheManager как это,
CompositeCacheManager compositeCacheManager = new CompositeCacheManager(
ehCacheCacheManager(),
redisCacheManager());
при использовании кэша может указано cacheManage.
@Cacheable(value = "firstCache", key = "#word", cacheManager = "ehCacheCacheManager")
Или
@Caching(
cacheable = {
@Cacheable(value = "firstCache", key = "#word", cacheManager = "ehCacheCacheManager"),
@Cacheable(value = "extendInfo", key = "#word", cacheManager = "redisCacheManager")
}
)
, но я не знаю, как обновить кэш каскада. надеюсь, что это поможет.
Это уже ответили [здесь] (http://stackoverflow.com/questions/34564285/how-to-setup-two-different-cachemanager-in-spring-boot/34587497) –
Так что мне нужно аннотировать одно внедрения CacheConfigurer, а не другого? Не могли бы вы объяснить это на примере? –
Просто реализуйте 'CachingConfigurer' для стандартного и зарегистрируйте дополнительный компонент типа' CacheManager' в вашей конфигурации. –