【问题标题】:Spring Redis issue: GetAllCacheNames from redis cache is not working with RedisCacheManagerSpring Redis 问题:Redis 缓存中的 GetAllCacheNames 不适用于 RedisCacheManager
【发布时间】:2018-02-13 19:34:12
【问题描述】:

您好,下面是我的 redis 缓存配置,我正在尝试使用以下方式获取存储在 redis 服务器上的所有缓存名称:

redisCacheManager.getCacheNames()

但它没有给我 redis 服务器中存在的 cacheName。

我使用 Cachable 注解为 cacheName 添加前缀:@Cacheable("cacheName")

我这里有 2 个问题?

1) 为什么我无法获取我存储在 redis 服务器中的缓存名称。 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;
}

【问题讨论】:

    标签: java redis spring-data spring-data-redis


    【解决方案1】:

    对于 CacheNames,请尝试

    @Autowired CacheManager cacheManager     
    cacheManager.getCacheNames().forEach(cacheM-> {System.out.println(cacheM);}); 
    

    【讨论】:

      猜你喜欢
      • 2015-05-29
      • 2018-11-09
      • 2022-10-04
      • 2018-03-23
      • 2020-04-25
      • 2022-08-03
      • 1970-01-01
      • 2017-11-22
      • 1970-01-01
      相关资源
      最近更新 更多