2017-01-13 21 views
-1

In meinem aktuellen Projekt speichern wir viele Informationen während des Starts der Anwendung. Wir fragen einige Daten in echcache und anderen in der Java-Karte ab. Dies ist klumpig und chaotisch. Ich möchte ein Caching-System entwerfen, das einfach ist. Die zugrunde liegende Cache-Technologie könnte etwas wie Echcache oder Haselnuss sein.Bestes benutzerdefiniertes Cache-Design in Java

Unsere Anwendung liest nur Daten, aktualisiert sie aber nicht. Die Aktualisierung wird von einem anderen Team seltener durchgeführt.

Kann jemand ein Beispiel geben, wie man solche Cache-System in Java entwerfen?

Dank

+0

Möchten Sie Near-Cache verwenden? Es ist ein Kompromiss zwischen der Datenkonsistenz, aber für selten aktualisierte Daten kann es eine enorme Leistungssteigerung bringen, da Daten, auf die zugegriffen wird, lokal auf dem Clusterknoten oder sogar auf einem Client gespeichert werden, wenn Sie möchten. – noctarius

+0

Vor einiger Zeit habe ich ein Whitepaper über die verschiedenen Caching-Strategien geschrieben. Wenn Sie nach einem allgemeinen Überblick suchen, der Ihnen helfen könnte (https://hazeltcast.com/resources/caching-strategies/), wäre Stackoverflow möglicherweise nicht der richtige Ort für eine vollständige technische Schritt-für-Schritt-Anleitung. – noctarius

Antwort

0

Dies ist eine große Frage und die Antwort hängt wirklich von Ihrer aktuellen Architektur.

Also, ja, Sie können natürlich nur ein Cache-Framework für alles verwenden. Und ich empfehle Ihnen, dies zu tun.

Sie könnten zum Beispiel alle Ihre Karten durch ehcache Cache ersetzen. Sie brauchen nur einen zentralen Platz, um Sie zu halten CacheManager.

Einige andere Frameworks geben Ihnen eine höhere Abstraktion. Beispielsweise können Sie mithilfe von Spring Anmerkungen verwenden, um Ergebnisse einer Methode als Cacheable zu kennzeichnen.