Wir haben einen Springboot-Webservice (mit Federdaten, Ruhezustand), der durch Lesen einer ganzen Tabelle aus der Datenbank eine riesige Datei generiert und zurückgibt. Es braucht viel Zeit, um dies zu tun, was viel mehr ist als die vom Client festgelegte Zeit. Also habe ich beschlossen, ehcache zu verwenden, um die Daten der gesamten Tabelle zwischenzuspeichern und die Datei daraus zu generieren (ich weiß, dass der Cache dafür nicht gedacht ist, aber ich habe keine andere Idee). Es funktioniert zufriedenstellend. Das Problem tritt jedoch auf, wenn Updates für die Daten erforderlich sind. Die Aktualisierungen werden auf einer Ebene pro Datensatz ausgeführt, der Cache wird jedoch auf der gesamten Tabellenebene gespeichert. Ich bin nicht sicher, wie man ehcache in die Aufzeichnungen innerhalb des zwischengespeicherten Gegenstandes schaut und sie ändert (ich möchte nicht jede Reihe wegen einiger Leistungsgründe als getrenntes Zwischenspeicherobjekt speichern). Jede Hilfe wird sehr geschätzt.Zwischenspeichern der gesamten Tabelle
Gerade jetzt, um dies zu verwalten, habe ich Ehcache los und eine Hash-Karte verwenden. Dies führte zu einer Menge Kesselplatte Code, den ich nicht mag.
EDIT: Gibt es eine Möglichkeit, auf Ehcache Eviction Mechanismus Haken und manuell das Cache-Objekt ändern?
Wie haben Sie Caching angewendet, verwenden Sie Spring Cache oder haben Sie die 2. Ebene Cache-Option von Hibernate verwendet. –