Estoy construyendo una tienda web con muchos departamentos y categorías. Se almacenan en nuestra base de datos y se accede a ellos con frecuencia.Asp.net - Caching vs Static Variable para almacenar un Dictionary
Estamos utilizando la reescritura de URL por lo que casi cada solicitud dentro de la tienda genera una búsqueda. También necesitamos iterar sobre los datos con frecuencia para generar menús para la tienda principal y las páginas del departamento.
Esta información no cambiará a menudo, así que estoy pensando que debería cargar la base de datos en un diccionario para acelerar la recuperación de información.
Sé que la práctica estándar es cargar datos en la memoria caché de la aplicación; sin embargo, supongo que hay algún nivel de serialización durante el almacenamiento en caché, y para una gran estructura de datos estoy pensando que la sobrecarga sería significativa.
Mi impulso en esto es poner el diccionario en una variable estática en una de las clases relacionadas. Sin embargo, me gustaría obtener información de entrada sobre esto. ¿Estoy en lo cierto al pensar que este método sería más rápido? ¿Es una práctica horrible? ¿Hay una mejor manera de que me esté perdiendo?
Parece que no puedo encontrar mucha información sobre esto y agradecería cualquier información que pueda compartir. ¡Gracias!
Muchas gracias- Eso es precisamente lo que necesitaba saber. –
contento de ayudar :) – LorenVS
Solo asegúrese de que, si está utilizando la aplicación o el caché, son por máquina. Si tiene varias máquinas (por ejemplo, una granja de servidores web), entonces tiene problemas ... y deberá usar una solución de almacenamiento en caché escalable, como Microsoft Velocity o MemCacheD (la 'D' es para Daemon). –