Ich verwende IMemoryCache
in meinem Projekt. Ich frage mich, was passiert, wenn meine App viele langlebige Objekte in den Cache schiebt. Kann es den gesamten verfügbaren Speicher belegen? Kann ich den maximalen Speicher für die App global definieren?Einschränkung der Speichernutzung in Asp.net Core
5
A
Antwort
2
Das wurde vor einem Jahr geschrieben, also gehe ich davon aus, dass Sie v1.x.x
des Microsoft.Extensions.Caching.Memory
Pakets verwenden.
Da gibt es keine SizeLimit
Eigenschaft in der MemoryCacheOptions
wie v2.x.x
, nachdem ich in den Code für eine Weile herum gräbt habe ich die folgende Zeile der Dokumentation gefunden.
/// This is called after a Gen2 garbage collection. We assume this means there was memory pressure.
/// Remove at least 10% of the total entries (or estimated memory?).
So wird das Paket so viel Speicher wie das Betriebssystem Ihren Code haben können auffressen. Wenn es diese Grenze erreicht, beginnt es mit der Komprimierung (Vertreibung) von Cache-Einträgen.
Mit v2.x.x
Sie die Grenze manuell SizeLimit
Eigenschaft verwenden festlegen und Sie können sogar die Menge der Verdichtung eingestellt, wenn die Grenze CompactionPercentage
getroffen wird.
Verwandte Themen
- 1. ASP.NET Core-Route mit Einschränkung nicht fällt zurück auf Standardroute
- 2. UserHostAddress in Asp.net Core
- 3. AntiForgeryConfig.UniqueClaimTypeIdentifier in ASP.NET Core
- 4. ServicePointManager in ASP.NET Core
- 5. ASP.NET Core: Einführung der FOREIGN KEY-Einschränkung für die Tabelle kann Zyklen oder mehrere Kaskadenpfade verursachen
- 6. IServiceProvider in ASP.NET Core-
- 7. SymmetricSecurityKey in ASP.NET CORE
- 8. @ Html.EnumDropDownListFor in Asp.net Core
- 9. Request.Files in ASP.NET CORE
- 10. Konfigurieren der Authentifizierung in ASP.NET Core 1.0
- 11. Abfangen der Modellvalidierung in asp.net Core
- 12. Reihenfolge der globalen Filter in ASP.NET Core-
- 13. Verwenden der NumberFormat-Eigenschaft in ASP.NET Core
- 14. Anmeldung mit der CookieAuthenticationMiddleware in Asp.Net Core
- 15. Optimieren der Speichernutzung in numpy
- 16. ASP.NET Core Identity-Implementierung in Orchard Core
- 17. Optimierung der Speichernutzung
- 18. Was ist der Unterschied ist ein Projekt ASP.NET Core (.NET Core) und ASP.NET Core (.NET Framework)
- 19. Limiting node.js der Speichernutzung
- 20. ASP.Net MVC: Wie in ASP.NET Core-
- 21. ASP.Net Core Sqlite in Azure
- 22. Chunking in Asp.Net Core deaktivieren
- 23. Währungsformat Ausgabe in ASP.NET CORE
- 24. Verschlüsselte Konfiguration in ASP.NET Core
- 25. Entwicklerspezifische Anwendungseinstellungen in ASP.Net Core?
- 26. Dispose ApplicationDbContext in ASP.NET Core
- 27. Kein intellisense in ASP.Net Core
- 28. Wann AuthorizeFilter in ASP.NET Core
- 29. Dropdownmenü in ASP.NET Core 1.0
- 30. Mocking IPrincipal in ASP.NET Core
Bedeutet SizeLimit Größe in Bytes? – Makla