Laden Sie den Cache-Speicher von EhCache in den Speicher

8

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.

    
Matthieu Napoli 04.05.2012, 11:49
quelle

2 Antworten

4

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%     
Chandra 09.05.2012, 15:49
quelle
0

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.

    
Attila 09.05.2012 11:15
quelle

Tags und Links