dapper.net libera memoria en caché

.net caching dapper memory orm

Pregunta

Soy nuevo en Dapper (por cierto, estoy a punto de usarlo). Me preguntaba cómo funciona. Guarda en caché algunos resultados, por lo que es más rápido obtenerlo más adelante. En la página de github, no dice nada sobre la liberación de memoria. Estoy enterado de la ejecución de este nuget, pero ¿no hay peligro de desbordamiento de memoria o algo así? ¿La memoria en caché se libera de alguna manera a veces?

Respuesta aceptada

El nivel web a menudo alcanzó el 100% de CPU debido al volumen de consultas. Con cientos de llamadas por segundo, la sobrecarga de la CPU de LINQ a SQL al construir un método dinámico para cada llamada suponía una carga excesiva para los servidores web.

Para resolver este problema, Dapper.Net almacena información sobre cada consulta en caché. Este almacenamiento en caché completo le ayuda a generar objetos a partir de consultas aproximadamente el doble de rápido que LINQ to SQL. Actualmente, el almacenamiento en caché se maneja mediante dos objetos ConcurrentDictionary, que nunca se borran. En el futuro, el algoritmo de almacenamiento en caché puede usar un caché LRU para reducir la presión de la memoria.



Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué