Я использую Spring Boot 3.x с Redis и Redisson в качестве кэша второго уровня. Все работает, как и ожидалось, пока приложение работает. Однако, когда приложение остановлено, записи кэша остаются в кэше на неопределенный срок, потому что кеш -выселение обрабатывается на стороне клиента с помощью Redisson. TTL настроен в файле Application.yml. < /P>
возможно ли настроить TTL для записей кэша также на стороне Redis, гарантируя, что кэш очищен даже при приложении Разве не работает? Это особенно важно, потому что мы планируем использовать уникальный hibernate.cache.region_prefix для каждого развертывания, из-за обратно-несогласных изменений в наших сущностях. < /P>
Я ожидал , но он отсутствует, подтверждая, что он действительно управляется Redisson:
spring:
jpa:
properties:
hibernate:
cache:
use_second_level_cache: true
region_prefix: l2_cache
region:
factory_class: org.redisson.hibernate.RedissonRegionFactory
redisson:
entity:
expiration:
time_to_live: 20000
max_idle_time: 20000
fallback: true
config: redisson.yml
< /code>
Entity: < /p>
@Entity
@Cacheable
@Cache(region = "someEntityCache", usage = CacheConcurrencyStrategy.READ_WRITE)
public class SomeEntity {
Подробнее здесь: https://stackoverflow.com/questions/793 ... cache-entr
Спринг-загрузка с Redis в качестве кэша второго уровня. Любой способ установить TTL на кеш -записи в Redis, чтобы они уд ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение