Estoy buscando una solución para almacenar en caché grandes cantidades de datos.Diccionario/memoria caché con respaldo de disco para C#
preguntas relacionadas pero para diferentes idiomas:
Cerrar cuestión en términos diferentes:
No necesito (ni deseo pagar nada por) persistencia, transacciones, seguridad de subprocesos o similares y quiero algo que no sea mucho más complejo de usar que una Lista <> o un Diccionario <>.
Si tengo que escribir el código, sólo voy a guardar todo lo que fuera como archivos en el directorio temporal:
string Get(int i)
{
File.ReadAllText(Path.Combine(root,i.ToString());
}
En mis casos en el índice será un int
(y que debería ser consecutivos o lo suficientemente cerca) y los datos serán string
, así que puedo salirse con la suya tratando un POD y preferiría ir ultra ligero y hacer exactamente eso.
El uso es que tengo una secuencia de 3k archivos (como en el archivo n. ° 1 al n. ° 3000) totalizando 650 MB y necesito hacer un diff para cada paso de la secuencia. Espero que sea igual o un poco más y no quiero tener todo eso en la memoria (pueden aparecer casos más grandes en los que no puedo).
Varias personas me han sugerido soluciones diferentes para mi problema. Sin embargo, ninguno parece estar dirigido a mi pequeño nicho. Las razones por las que busco el almacenamiento en caché respaldado por disco es porque estoy esperando que mi uso actual use hasta 1/3 a 1/2 de mi espacio de direcciones disponible. Me preocupa que los casos más grandes se quedarán sin espacio. No estoy preocupado por pisar, la persistencia o la replicación. Lo que estoy buscando es una solución mínima que use un mínimo de código, una mínima huella de uso, una mínima sobrecarga de memoria y una complejidad mínima.
Estoy empezando a pensar que soy demasiado optimista.
¿Por qué no el sistema de archivos? Eso es lo que está diseñado para ... – RedFilter
Lo haré si alguien no puede señalarme algo mejor que ya está escrito. – BCS
¿No es cierto que un caché basado en disco derrota el propósito completo de un mecanismo de almacenamiento en caché? –