2011-01-17 13 views
2

HALLO alle,ehcache, JPA 2.0 L2-Cache, Caching Strategie

Ich bin neu in der Welt der L2 Cache, so wenden Sie sich bitte einfach auf mich gehen :). Ich habe ein paar Fragen:

1) Was wäre der Unterschied zwischen EhCache vs JPA 2.0 L2 Cache?

Zu meinem Verständnis ist EhCache verteilt (kann auch Stand-alone sein), während JPA 2.0 L2 Cache nicht ist (per JVM).

2) Caching-Strategie

Sie bitte Ihre Caching 101 Strategie teilen. Wie speichert man die Sammlung (Probleme und Tipps)? So durchsuchen Sie ein Objekt in Ihrem Cache-Pool (wenn Sie wissen, dass Sie es zwischenspeichern).

3) Caching und Stored Procedures

sagen Lassen Sie die Datenbank 2 verschiedene Anwendungen, die auf der sie unterstützt. Wie würde man ein Aktualisierungsproblem lösen, wenn eine Anwendung die Daten über Stored Procedure aktualisiert, während die andere (Cache) sie liest? Für den Leser ist es so, als gäbe es kein Update.

Ich hörte Geschichten, dass bestimmte große Websites alles zwischenspeichern. Bedeutet dies, dass sie ihre eigene Datenzugriffsschicht über ihre Cache-Bibliothek und ihre JPA/ORM schreiben?

PS: Ich verstehe, dass die goldene Regel ist, zu früh Caching zu vermeiden oder besser noch die Hardwarefähigkeit zu erhöhen. Ich stelle diese Frage zu Lernzwecken. Ich frage auch nicht nach einem bestimmten Szenario, sondern nach der allgemeinen Regel, dem allgemeinen Szenario, dem kleinsten gemeinsamen Nenner, es muss nicht jedes Problem lösen.

Danke!

Antwort

4

1) EHCache ist eine Caching-Implementierung. JPA2 L2 ist eine Caching-Schnittstelle. Sie können EHCache als Ihren JPA L2-Cache-Provider verwenden. Der L2-Cache-Anbieter, den Sie auswählen, sollte vollständig von Ihren Anforderungen abhängen. Wenn Sie denken, dass EHCache am besten passt, dann verwenden Sie es.

2) Ich werde das verlassen, da es ein bisschen vage ist. Es gibt viele gute Strategien für viele verschiedene Szenarien.

3) Wenn Sie etwas haben, das Ihre Datenbank aktualisiert und Ihren Cache nicht anstößt, wird Ihr Cache veraltet. Wenn das in Ihrer Domain in Ordnung ist, dann ist das in Ordnung. Andernfalls müssen Sie entweder eine andere Lösung für Ihre Caching- oder Aktualisierungsanforderungen finden, damit beide synchron bleiben.

Verwandte Themen