Jak automatycznie odświeżać pamięć podręczną za pomocą Google Guava?
Używam biblioteki Google Guava do buforowania. W celu automatycznego odświeżenia pamięci podręcznej możemy wykonać następujące czynności:
cache = CacheBuilder.newBuilder()
.refreshAfterWrite(15, TimeUnit.MINUTES)
.maximumSize(100)
.build(....);
Jednak,automatyczne odświeżanie jest wykonywane, gdy pojawia się pierwsze nieaktualne żądanie wpisu.
Czy istnieje sposób na automatyczne odświeżenie, nawet jeśli nie ma żądań dotyczących danych z pamięci podręcznej? Jak co 15 minut dane z pamięci podręcznej powinny być pobierane z Db i ładowane, niezależnie od tego, czy ktoś dzwonił do danych z pamięci podręcznej, czy nie.
Ponadto czas wygaśnięcia pamięci podręcznej Guava dotyczy całej pamięci podręcznej.Czy możliwe jest wygaśnięcie wartości pamięci podręcznej na podstawie klucza? Podobnie jak dane z pamięci podręcznej z kluczem „NOT_SO_FREQ_CHANGE_DATA”, które wygasają co 1 godzinę, a dane z kluczem „FREQ_CHANGING_DATA” powinny wygasać co 15 minut?