0
で作業されていない
こんにちは以下の私のRedisのキャッシュ構成である、と私はすべてのパラメータcachename使用してRedisのサーバーに保存されている取得しようとしています:春Redisの問題は:RedisのキャッシュからGetAllCacheNamesがRedisCacheManager
redisCacheManager.getCacheNames()
をしかし、それは私のredisサーバーに存在するcacheNameを与えません。私はパラメータcachenameキャッシュ可能注釈を使用して接頭辞
:@Cacheable( "cacheNameを指定")
を私はここで2つの質問がありますか?
1)なぜ私はredisサーバーに格納されているcacheNamesを取得できません。 2)プレフィックスcacheNameを動的に作成するにはどうすればよいのですか?
@Bean
JedisConnectionFactory jedisConnectionFactory() {
JedisConnectionFactory factory = new JedisConnectionFactory();
factory.setHostName(redisHost);
factory.setPort(redisPort);
factory.setUsePool(true);
return factory;
}
@Bean
RedisTemplate<Object, Object> redisTemplate() {
RedisTemplate<Object, Object> redisTemplate = new RedisTemplate<Object, Object>();
redisTemplate.setConnectionFactory(jedisConnectionFactory());
redisTemplate.setDefaultSerializer(new StringRedisSerializer());
// redisTemplate.setHashValueSerializer(new Jackson2JsonRedisSerializer<>(Object.class));
return redisTemplate;
}
@Bean
CacheManager cacheManager() {
// configuration to set the time to expire in seconds, messageCache is name of method
Map<String,Long> cacheMap = new HashMap<String, Long>();
//cacheMap is the name of the map where we put all the method names for which we want time to expire.
RedisCacheManager redisCacheManager = new RedisCacheManager(redisTemplate());
redisCacheManager.setUsePrefix(true);
//redisCacheManager.setExpires(cacheMap);
return redisCacheManager;
}