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
Antwort
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.
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!
Außerdem gibt es eine Grenze für die Anzahl der offenen Verbindungen, also ResultSets, der SQL Server ist bereit – extraneon
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.
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
- 1. Objektreferenz in Java gesetzt
- 2. Java-Unit-Tests gesetzt Manifest-Eigenschaft
- 3. JAVA nicht im Pfad, obwohl JAVA_HOME gesetzt
- 4. Eclipse Java Version falsch irgendwo gesetzt
- 5. Java gesetzt Timer anhalten und zurücksetzen Timer
- 6. Timeout in der web.xml gesetzt funktioniert nicht in Java
- 7. CQL IN gesetzt Abfrage
- 8. Alloy api Lösung gesetzt
- 9. gesetzt Programmatically Image layout_gravity
- 10. Java - Calendar.getTime nicht abrufen nicht das Datum gesetzt mit Calendar.setTime
- 11. Wurzel hat nicht Fehler mit Java 8 Eclipse-gesetzt wurde
- 12. Java - Warum wird meine statische Variable auf null gesetzt?
- 13. forEach Schleife Java 8 für Map-Eintrag gesetzt
- 14. srcdir Attribute müssen gesetzt werden
- 15. Log4J2 gesetzt params in Appen
- 16. ft_min_word_len in lokaler my.cnf gesetzt?
- 17. wie Textfeldwert in iphone gesetzt
- 18. Fehlgeschlagen Ereignishandler gesetzt in Javascript
- 19. Bootstrap-Classpath nicht gesetzt
- 20. HTML-Wert von Javascript gesetzt?
- 21. JAXB XmlAnyElement gesetzt Namespace-Attribut
- 22. Fetch das Sitzungsobjekt gesetzt in liferay Thema Java-Methode in Portlet doView() -Methode
- 23. Gitlab CI: Kann nicht JAVA_HOME gesetzt
- 24. Bootstrap-Klassenpfad nicht in Verbindung mit -source 1.6 gesetzt
- 25. urxvt Cursorform auf | gesetzt
- 26. LambdaJ forEach gesetzt
- 27. Laravel gesetzt Klassenvariable Wert
- 28. Ruby-Klasse gesetzt/erhalten
- 29. localhost Cookies nicht gesetzt
- 30. jQuery gesetzt html() Wert
Was ist los mit dem Hinzufügen der Gläser zu Ihrem Projekt? –
sicherlich, es ist nicht falsch. aber ich suche nach dem einfachsten Weg. Wenn APIs unumgänglich sind, werde ich es verwenden. – sahar