![](/img/trans.png)
[英]How to use Redis Cache to store the data in java spring boot application?
[英]Spring Data Store Redis - Use Multiple Caches
我有一個由兩個Web服務器,兩個Redis緩存和一個后端存儲組成的應用程序。 為了優化性能,兩個Web服務器和兩個Redis緩存位於西海岸和東海岸。 到目前為止,我已經能夠從Web服務器連接到我的第一個緩存,並連接到后端存儲。 但是我正在尋找一種使用Spring將數據推送到兩個Redis緩存的方法。 我已經如下配置了我的兩個RedisManager。
@Bean(name="CacheManager1")
public RedisCacheManager cacheManager() {
RedisCacheManager redisCacheManager = new RedisCacheManager(redisTemplate());
redisCacheManager.setTransactionAware(true);
redisCacheManager.setLoadRemoteCachesOnStartup(true);
redisCacheManager.setUsePrefix(true);
return redisCacheManager;
}
@Bean(name="CacheManager2")
public RedisCacheManager cacheManager2() {
RedisCacheManager redisCacheManager = new RedisCacheManager(redisTemplate2());
redisCacheManager.setTransactionAware(true);
redisCacheManager.setLoadRemoteCachesOnStartup(true);
redisCacheManager.setUsePrefix(true);
return redisCacheManager;
}
現在,我嘗試了一些隨機方法來緩存到這兩個地方,但是這種特殊方式因“可緩存不是可重復的注釋”而失敗。
@Cacheable(cacheManager = "CacheManager1", value = "activityProfile", key = "#id")
@Cacheable(cacheManager = "CacheManager2", value = "activityProfile", key = "#id")
public ActivityProfile findActivityProfile(String id) {
return activityProfileRepository.findOne(id);
}
有什么簡單的方法可以使用Spring嗎?
Dan Ciborowski-見這里...
Spring參考說明了如何使用@Caching
組合多個Spring Cache Abstraction批注(例如@Cacheable
, @CachePut
等)。
因此,對於可緩存,您可以執行以下操作。
@Caching(cacheable = {@Cacheable("CacheManager1"), @Cacheable("CacheManager2")})
public ActivityProfile findActivityProfile(String id) {
return activityProfileRepository.findOne(id);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.