Moim zastosowaniem jest utrzymywanie pamięci podręcznej w pamięci ponad danymi przechowywanymi w trwałym DB.Wdrażanie okresowo odświeżającej pamięci podręcznej w języku Java
Używam danych do wypełnienia listy/mapy wpisów w interfejsie użytkownika. W danym momencie dane wyświetlane w interfejsie powinny być jak najbardziej zaktualizowane (cóż, można to zrobić za pomocą częstotliwości odświeżania pamięci podręcznej).
Główna różnica między zwykłą implementacją pamięci podręcznej a tą konkretną pamięcią podręczną polega na tym, że wymaga ona odświeżania wszystkich elementów w regularnych odstępach czasu, a co za tym idzie, różni się od pamięci podręcznej LRU.
Potrzebuję wykonać tę implementację w Javie i będzie świetnie, jeśli istnieją jakiekolwiek ramy, które można wykorzystać do zbudowania tego wokół nich.
Przeszukałem bibliotekę pamięci podręcznej Google Guava, ale jest ona bardziej dostosowana do odświeżania wpisu niż odświeżania zbiorczego. Nie ma prostych interfejsów API, które odświeżają całą pamięć podręczną.
Każda pomoc będzie bardzo ceniona.
Ponadto, jeśli możliwe jest przyrostowe odświeżanie, będzie wspaniale, ponieważ jedynym ograniczeniem, które powstaje podczas odświeżania całej pamięci podręcznej, jest to, że jeśli pamięć podręczna ma bardzo duży rozmiar, to stos pamięci powinien być przynajmniej dwa razy wielkość pamięci podręcznej w celu załadowania nowych wpisów i zastąpienia starej mapy nową. Jeśli pamięć podręczna jest przyrostowa lub istnieje odświeżenie klockowe (odświeżanie w równych rozmiarach), będzie świetnie.
@ jtahlborn- Interfejs API BulkLoader (http://ehcache.org/documentation/apis/bulk-loading) EhCache'a jest pomocny, ale byłoby wspaniale, gdyby udostępnił opcję refreshTime lub periodic interval, w której samodzielnie zarządzałaby harmonogram odświeżania pamięci podręcznej. W każdym razie zawsze można to osiągnąć za pomocą zewnętrznego programu planującego i okresowo wywołując interfejs API ładowania zbiorczego. Dziękuję za odpowiedź. –
Dla EHCache zajrzyj na: http://www.ehcache.org/documentation/3.3/thread-pools.html i http://terracotta.org/documentation/4.1/bigmemorymax/api/bulk-loading – Aliuk
Ale. . nie czas na życie po prostu usuwa element z pamięci podręcznej? To NIE jest to samo, co tutaj napisałeś - "automatyczne ponowne ładowanie" – javagirl