2010-11-29 8 views
0

Ich weiß, dass das Caching der Ergebnismenge von häufig verwendeten SQL-Anweisungen ist besser für die Leistung, die ich suche nach der besten Möglichkeit, SQL-Ergebnismenge in Java zu cachen. Ich habe einige Codes gefunden, aber es erfordert das Hinzufügen neuer JAR-Dateien zu NetBeans. Kann mir jemand helfen, wie kann ich das ohne zusätzliche apis machen?Caching-SQL-Ergebnis in Java gesetzt

+3

Was ist los mit dem Hinzufügen der Gläser zu Ihrem Projekt? –

+0

sicherlich, es ist nicht falsch. aber ich suche nach dem einfachsten Weg. Wenn APIs unumgänglich sind, werde ich es verwenden. – sahar

Antwort

0

Sie sollten nur die Daten zwischenspeichern. Ich würde Ihnen raten, eine externe API zu verwenden, da Sie wahrscheinlich auch alte Daten aus dem Cache entfernen müssen (um zu verhindern, dass zu viel Speicher verwendet wird).

Verwendung guave:

ConcurrentMap _continueContexts = new MapMaker() .expiration (10, TimeUnit.SECONDS) .makeMap();

P.S: Sie sollten etwas wie Maven, um Ihre Abhängigkeiten zu verwalten.

6

Sie sollten die resultierenden Objekte zwischenspeichern, nicht die Ergebnismengen, da die ResultSet einen Verweis auf die Verbindung (über die Anweisung) enthält, die oft eine offene Datenbankverbindung enthält oder nach dem Schließen der Verbindung nicht mehr verwendbar ist!

+0

Außerdem gibt es eine Grenze für die Anzahl der offenen Verbindungen, also ResultSets, der SQL Server ist bereit – extraneon

0

Sie könnten eine verknüpfte Ergebnisliste erstellen. Der Cache-Trigger zeigt auf den Anfang der Liste. Da verkettete Listen wie ein Wrapper funktionieren, können Sie die Ergebnisse so generisch machen, wie Sie möchten. Dies wird keine weitere API erfordern, aber Sie müssen dies alles selbst implementieren und hoffentlich verstehen Sie, warum wir das Rad nicht neu erfinden wollen.

+1

zu unterstützen^_^Ich will das Rad nicht neu erfinden. Ich möchte eine einfache und praktische Methode. Das Hauptproblem besteht nicht darin, zusätzliche APIs zu verwenden. Ich habe viele Methoden gefunden und ich weiß nicht, was das Beste ist. – sahar