0

Ich bin neu in Ehcache, funktioniert meine Ruhe API CacheEhcache zu aktualisieren, wenn ein Update erfolgt in einer Datenbank

<cache name="com.a.b.c.model.Act" 
maxElementsInMemory="10000" overflowToDisk="false" statistics="true" /> 

Wenn ich in der Datenbank durch Abfrage jedes Update zu tun, wird die Cache jener Änderungen aktualisieren .

Wenn ich über REST API aktualisieren, wird der Cache aktualisiert.

Welche Änderung muß ich machen, wenn ich die Cache-Aktualisierung erhalten, wenn eine Änderung in der Datenbank geschieht

Ist es gut mit timeToLiveSeconds oder anderen Konfigurationen gehen kann getan werden?

Antwort

2

Das Caching ist das klassische Problem beim Aktualisieren des Caches, wenn sich das zugrunde liegende System des Datensatzes ändert und nicht durch die Servicemethoden, bei denen das Caching durchgeführt wird.

Ehcache bietet keine out-of-the-Box-Lösung, da es ALL die Technologien, die als ein System der Aufzeichnung fungieren können, unterstützen würde. Nicht nur Datenbanken, sondern auch Web-Services und wirklich alles, was ein Programmierer sich vorstellen kann.

Wenn Ihre Anwendung jedoch für eine kurze Zeit mit veralteten Daten im Cache leben kann, kann Ablauf hilfreich sein. Es markiert effektiv Cache-Einträge als gültig für einen Zeitraum - Zeit zu leben.

Wenn Ihre Anwendung veraltete Daten im Cache nicht unterstützen kann, müssen Sie sicherstellen, dass der Prozess zum Aktualisieren des Systems von Datensätzen auch dafür sorgt, dass der Cache ungültig wird.

1

Wenn der Code, der die Datenbank upadating Manager Ehcache zugreifen können (gleiche VM oder verteilt Persistenz) die beste Lösung, den Cache ist

CacheManager.getInstance().getEhcache("mycache").remove(key); 

und lassen Sie den Cache autonom aktualisieren zu brechen.

Wenn Sie bereits von dem aktualisierten Objekt verfügen Sie auch einen Schritt mit put

CacheManager.getInstance().getEhcache("mycache").put(key, updatedObject); 

überspringen könnte Wenn CacheEntryFactories Code habe ich die Fabrik das Geschäft tun lassen würde (Eintrag Schöpfung ist zentralisiert, können Sie mehr hinzufügen Logik dort)

Verwandte Themen