2016-07-08 10 views
0

In meiner Anwendung habe ich mehrere asynchrone HTTP-Anfragen an den Server pro Benutzer klicken. Jede Anfrage wird an die Serviceebene gesendet und greift auf die DAO-Ebene für Daten zu. Einige der Anforderungen verwenden dieselben Daten aus der Datenbank.Java Web App - Cache-Daten zwischen asynchronen Anfragen

So endet es die gleiche Arbeit von DB viele Male. Ich möchte die Leistung verbessern.

Von Architekturentwurf Perspektive, Was würden Sie mir vorschlagen, zu tun? Sollte ich Cache verwenden, wenn ja wann sollte ich es reinigen?

Ich benutze Spring MVC und alle Bohnen sind Singletons. beide Dienste und DAO-Ebene.

Jeder Vorschlag wird geschätzt. Vielen Dank.

Antwort

0

Sie können eine Hash-Tabelle verwenden, um Ihre Daten dort zu speichern. Bevor Sie Ihre Datenbank abfragen, prüfen Sie, ob Sie die Daten bereits in Ihrer Hash-Tabelle haben.

Ich weiß nicht, wann Sie die Daten reinigen sollten, weil ich nicht weiß, welche Art von Daten Sie dort speichern. aber Sie können Daten durch LRU oder Ablaufzeit reinigen.