Redis
 sql >> база данни >  >> NoSQL >> Redis

как да конфигурирате различен ttl за всеки кеш на redis, когато използвате @cacheable в springboot2.0

Можете да конфигурирате различно време на изтичане за всеки кеш, като използвате само един CacheManager, като създадете различни конфигурации за всеки кеш и ги поставите в карта, с която създавате CacheManager.

Например:

@Bean
RedisCacheWriter redisCacheWriter() {
    return RedisCacheWriter.lockingRedisCacheWriter(jedisConnectionFactory());
}

@Bean
RedisCacheConfiguration defaultRedisCacheConfiguration() {
    return RedisCacheConfiguration.defaultCacheConfig().entryTtl(Duration.ofSeconds(defaultCacheExpiration));
}

@Bean
CacheManager cacheManager() {
    Map<String, RedisCacheConfiguration> cacheNamesConfigurationMap = new HashMap<>();
    cacheNamesConfigurationMap.put("cacheName1", RedisCacheConfiguration.defaultCacheConfig().entryTtl(Duration.ofSeconds(ttl1)));
    cacheNamesConfigurationMap.put("cacheName2", RedisCacheConfiguration.defaultCacheConfig().entryTtl(Duration.ofSeconds(ttl2)));
    cacheNamesConfigurationMap.put("cacheName3", RedisCacheConfiguration.defaultCacheConfig().entryTtl(Duration.ofSeconds(ttl3)));

    return new RedisCacheManager(redisCacheWriter(), defaultRedisCacheConfiguration(), cacheNamesConfigurationMap);
}


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Безопасно излъчване на съобщения, което да се консумира от конкретен получател с помощта на redis и python

  2. Използването на многопроцесорния пул от задачата celery поражда изключение

  3. Основни разлики/характеристики между най-известните NoSQL системи

  4. spring session redis 'Не е дефиниран боб с име 'springSessionRepositoryFilter''

  5. Redis как да съхранявам асоциативен масив? Set или Hash или List?