Wie in EhCache-Dokumentation gesagt:
In der Praxis bedeutet dies, dass der persistente speicherinternen Cache mit allen Elementen auf dem Datenträger gestartet wird . [...] Also lädt das Ehcache-Design sie beim Start nicht alle in den Speicher, lädt sie aber nach Belieben.
Ich möchte, dass der Speicher-Cache startet alle seine Elemente im Speicher, wie kann ich das erreichen?
Der Grund dafür ist, dass unsere Website einen Los für den Zugriff auf den Cache durchführt. Wenn wir die Website das erste Mal besuchen, hat das eine sehr schlechte Antwortzeit.
Ich gehe davon aus, dass alle zwischengespeicherten Elemente sich im DiskStore befinden und Sie möchten, dass sie sich im Speicher befinden, sobald die Anwendung gestartet wird. In jedem Fall sollte die Verwendung von BootStrapCacheLoader und BootstrapCacheLoaderFactory hilfreich sein.
Ich gebe nur eine Vorstellung, wo wir DiskStore nach dem Start der Anwendung in den Speicher laden
Sie können BootstrapCacheLoader implementieren, der die Cache-Elemente wie folgt lädt. Definition der Methode BootstrapCacheLoader.load (Ehcache-Cache) kann
sein %Vor%Die obige Methode liest das Element aus DiskCache, entfernt es und setzt es zurück, so dass es im Speicher bleibt und die Festplattenversion entfernt wird.
Implementieren Sie BootstrapCacheLoaderFactory, damit
%Vor%Sie können die Cache-Konfiguration wie folgt mit CustomBootstrapCacheLoaderFactory wie folgt definieren
%Vor%Ich habe Ehcache vorher noch nicht benutzt, aber basierend auf der Dokumentation würde ich diese Methoden ausprobieren:
Gibt eine Liste aller Elemente im Cache zurück, unabhängig davon, ob sie abgelaufen sind oder nicht. Die zurückgegebenen Schlüssel sind eindeutig und können als Satz betrachtet werden.
Die zurückgegebene Liste ist nicht live. Es ist eine Kopie.
Die Zeit ist O (n).
Eine sehr teure Prüfung, um festzustellen, ob der Wert im Cache vorhanden ist.
Bei allen oben genannten Methoden besteht die Idee darin, eine Operation auszuführen, die alle Elemente des Caches berührt, in der Hoffnung, dass die Berührung gespeicherte Elemente in den Speicher bringt.
Tags und Links java caching ehcache memorycache