2012-12-25 22 views
14

Ich möchte Caching in meiner Webanwendung verwenden, die skalierbar und verteilt werden soll.Hibernate EHCache vs MemCache

Ich habe EHCache und MemCache beide in kleinen-kleinen Web-Anwendung separat verwendet.

Haben gegoogelt und gemischte Bewertung über beide erhalten, daher möchte ich einige Hilfe und starke Funktionen von jedem bekommen, damit ich entscheiden kann, welches Framework für meine Webanwendung geeignet ist.

Lassen Sie mich wissen, wenn weitere Details benötigen.

Danke !!

Antwort

14

EHCache lässt sich sehr einfach in Hibernate-Anwendungen integrieren (Web-Apps, die Hibernate als Back-End-ORM verwenden). Sie können es auch als separates Artefakt importieren und programmgesteuert ausführen, z. B. Daten zu einem benannten Cache mit einer angegebenen Ablaufdauer oder Anzahl von max-Objekten oder Größe hinzufügen.

Memcached ist nicht so einfach in Hibernate-Anwendungen zu integrieren, bietet aber im Wesentlichen die gleiche API für den programmatischen Zugriff wie EHCache.

In Bezug auf die Leistung variieren die Ergebnisse auch in Abhängigkeit von der Architektur und der Verwendung des Caches.

Abschließend, wenn Sie einen Cache wählen, wenn Sie auf eine Standard-Weise verwenden, ist es nur eine Frage der Präferenz, welchen Cache Sie wählen werden. Ich persönlich würde EHCache wählen, da ich wesentlich mehr Erfahrung damit habe.

Es gibt auch einen verteilten Cache von JBoss (wie in einem Cache, der von einem Cluster von Maschinen geteilt wird), wobei die Synchronisierung intern behandelt wird und die API EHCache sehr ähnlich ist. Es heißt Infinispan und ist auch relativ einfach einzurichten und zu verwenden.

EDIT:

Als starkes Merkmal EHCache, würde ich die nahtlose Integration als Second-Level-Cache für Hibernate Liste. Außerdem ist das Konfigurieren eines Caches auf programmatische Weise sehr einfach und Java-artig.

Vielleicht ist es auch eine gute Idee, Sie auf diese für einen Vergleich der Leistung verweisen. Denken Sie daran, es ist alt, also vielleicht nicht sehr aktuell. http://gregluck.com/blog/archives/2007/05/comparing-memcached-and-ehcache-performance/

+1

Können Sie Ihre Erfahrungen mit der Verwendung von EHCache vs MemCached mit skalierbaren Apps mit Clustering teilen? –

+1

Ich habe nur EHCache in einem virtuellen Rackspace-Cluster verwendet. Das Wichtige, was hier zu beachten ist, ist, dass der Cache nicht geteilt wird. Jede Maschine hat ihren eigenen Cache. Wenn dies für Ihre Architektur in Ordnung ist, verwenden Sie entweder Memcached oder EHcache. Ich habe Memcached nur für kleine Projekte verwendet, daher habe ich keine gründlichen Kenntnisse oder Erfahrungen damit, aber es schien mir ziemlich das Gleiche zu sein. –

+0

hört sich gut an, danke !! –