Spring cache wyłączanie i czyszczenie

0

Cześć,
Potrzebuje zaimplementować cache dla jednego endpintu pobierającego dane z kilku miejs w systemie. Z tym, że potrzebuję dwóch rzeczy:

  • cache powinien się czyścić co 5 minut tak, aby dane były odświeżone
  • potrzebuje możliwości wyłączenia cachowania najlepiej przez jakiś properties

Polecacie któregoś providera, który dostarcza takie funkcjonalności?

1

Zwykła Kafeina ma TTL-a, więc z tym nie będzie problemu. Odnośnie dynamicznego wyłączania cache, to bez restartu aplikacji musiałbyś zrobić jakiś mechanizm dostarczający za każdym razem informację czy cache jest włączony.

Propertiesy są zaczytywane tylko raz podczas startu kontekstu Springa, wiec albo zapinasz się np. na bazę albo flagę w pamięci, albo kombinujesz z dynamicznymi propsami w oparciu o Zookepeera.

1
  1. Caffeine ma expire after read/write
  2. Ale chodzi o normalne statyczne property że restartujesz aplikacje? Możesz dać expire na 1ms chociażby, wiec jeśli jako property wystawisz sobie expiration time cache to masz 2w1
0

@Scheduled na metodzie która czyści cache?

0

cache powinien się czyścić co 5 minut tak, aby dane były odświeżone

@Scheduled na metodzie która czyści cache?

Pytanie czy autorowi nie chodzi o to, że klucz ma expiration time 5min.
Bo jaki miałoby sens czyszczenie cache w @Scheduled, który przed sekundą
był "zapełniony".

0

@lookacode1: no ja to interpretuje tak, że chce mieć cache, który można wyłączyć/włączyć w dowolnym momencie oraz ustawić czyszczenie na np. co 5 minut.

1 użytkowników online, w tym zalogowanych: 0, gości: 1