Spring Boot: поставщики кэша, Redis

Если Redis доступен и настроен, RedisCacheManager настраивается автоматически. Можно создать дополнительные кэши при запуске, установив свойство spring.cache.cache-names, а настройки кэша по умолчанию можно настроить с помощью свойств spring.cache.redis.*. Например, следующая конфигурация создает кэши cache1 и cache2 со временем жизни 10 минут:

spring.cache.cache-names=cache1,cache2
spring.cache.redis.time-to-live=600000

По умолчанию добавляется префикс ключа, поэтому, если два отдельных кэша используют один и тот же ключ, Redis не имеет перекрывающихся ключей и не может возвращать недопустимые значения. Настоятельно рекомендуется оставить этот параметр включенным, если вы создаете свой собственный RedisCacheManager.

Вы можете получить полный контроль над конфигурацией по умолчанию, добавив свой RedisCacheConfiguration @Bean. Это может быть полезно, если вы ищете настройку стратегии сериализации по умолчанию.

Если вам нужно больше контроля над конфигурацией, рассмотрите возможность регистрации bean-компонента RedisCacheManagerBuilderCustomizer. В следующем примере показан настройщик, который настраивает определенное время жизни для cache1 и cache2:

@Bean
public RedisCacheManagerBuilderCustomizer myRedisCacheManagerBuilderCustomizer() {
    return (builder) -> builder
            .withCacheConfiguration("cache1",
                    RedisCacheConfiguration.defaultCacheConfig().entryTtl(Duration.ofSeconds(10)))
            .withCacheConfiguration("cache2",
                    RedisCacheConfiguration.defaultCacheConfig().entryTtl(Duration.ofMinutes(1)));

}


Читайте также:


Комментарии

Популярные сообщения из этого блога

Методы класса Object в Java

Как получить текущий timestamp в Java

Основные опции JVM для повышения производительности и отладки