Ich bin neu zu dapper (accually etwa zu verwenden). Ich habe mich gefragt, wie es funktioniert. Es speichert einige Ergebnisse, so dass es später schneller ist. Auf der GitHub-Seite sagt es nichts über die Freigabe von Speicher. Ich bin mir der Leistung dieses nugget bewusst, aber besteht keine Gefahr durch Speicherüberlauf oder etw.? Wird der zwischengespeicherte Speicher manchmal freigegeben?dapper.net release cached memory
Antwort
Die Webebene erreichte aufgrund des Umfangs der Abfragen häufig 100% CPU. Bei Hunderten von Aufrufen pro Sekunde verursachte der CPU-Overhead von LINQ zu SQL, der eine dynamische Methode für jeden Aufruf konstruierte, eine zu große Belastung für die Webserver.
Um dieses Problem zu beheben, speichert Dapper.Net Informationen über jede Abfrage. Dieses umfassende Caching hilft, Objekte aus Abfragen zu generieren, die doppelt so schnell sind wie LINQ to SQL. Gegenwärtig wird die Zwischenspeicherung von zwei ConcurrentDictionary-Objekten gehandhabt, die niemals gelöscht werden. In der Zukunft kann der Caching-Algorithmus einen LRU-Cache verwenden, um den Speicherdruck zu reduzieren.
https://www.infoq.com/news/2011/04/dapper-released –
Es kann eine große in der Beseitigung dieser Wörterbücher - es ist auf meiner Liste –
Mai sein, aber ich werde dapper über andere ORM empfehlen –
- 1. Dapper.NET Dokumentation?
- 2. Dapper.net Oracle Parameter
- 3. eine Volltextsuche Parameterübergabe mit Dapper.net
- 4. Dapper.NET: Der varchar (4000) Standard
- 5. Cached Artikel nie
- 6. NHibernate Cached Abfrage
- 7. MvxCachingFragmentCompatActivity refresh cached Fragment
- 8. git rm --cached funktioniert nicht
- 9. jQuery Ajax-Aufruf - cached Werte
- 10. iPhone Memory Management didReceiveMemoryWarning
- 11. beste Weg Bulk-Einsätze mit dapper.net
- 12. iPhone Memory Management
- 13. Memory Cache in Web-API
- 14. iPhone Memory Leak JSON Bibliothek
- 15. iPhone Memory Management und Loslassen
- 16. Distributed & Cached MP4 PseudoStreaming (suchen) mit Nginx
- 17. Reactive Native - Aufruf im Cache cached
- 18. Warum Chrom-Cached-Anfragen Zeit brauchen?
- 19. $ .getJSON zurück cached Daten in IE8
- 20. opengl release memory nach dem Aufruf von glBufferData bewirkt, dass die Daten nicht angezeigt werden
- 21. Memory-Management-Problem mit behalten
- 22. Memory Sanitizer
- 23. Release früher/Release oft für kommerzielle Software?
- 24. Über Autorelease/release und [Pool release]
- 25. Monotouch Memory Profiler: Wofür steht die Nummer "Total Memory"?
- 26. NodeJS In-Memory-Cache mit Memory Pressure Awareness
- 27. Unterschied zwischen In-Memory-Cache und In-Memory-Datenbank
- 28. NSXMLParser Memory Allocation Efficiency für das iPhone
- 29. JavaScript Closure Memory Leak
- 30. Cassandra In-Memory-Konfiguration
"Es speichert einige Ergebnisse, so dass es später schneller ist." - Nein, tut es nicht; Es speichert das Ergebnis der Meta-Programmierung für Ihre Abfrage und Ergebnisse ** Form **. Es speichert niemals tatsächliche Ergebnisse. –