Код: Выделить всё
micronaut:
application:
name: isac-card
cache:
redis:
enabled: false
caffeine:
enabled: true
caches:
keyConfig:
maximum-size: 1000
expire-after-write: 2s
< /code>
истекает-после записи в Micronaut не истекает после установленного времени. < /p>
@Test
void testCacheExpiry() {
System.out.println("First Call: " + cacheService.getValue()); // Fetches from AWS
System.out.println("Second Call: " + cacheService.getValue()); // Should be cached
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
System.out.println("After 3s: " + cacheService.getValue());
cacheService.invalidateValue();
}
< /code>
Вот мой код службы < /p>
@Cacheable(value = "keyConfig")
public String getValue() {
// fetch from db
return value
}
@CacheInvalidate("keyConfig")
public void invalidateValue() {
System.out.println("Invalidating cache...");
}
значение, найденное в Cache [keyConfig] для вызова: string getValue ()
Это После вызова InvalidateValue
значение не найдено в кэше для вызова: string getValue ()
Подробнее здесь: https://stackoverflow.com/questions/794 ... ot-working