Pregunta

Quiero utilizar el almacenamiento en caché de datos en mi .NET C # aplicación. Hasta ahora he añadido caché de datos y ha añadido dependencias de caché de SQL en tablas específicas. Pero eso no es lo suficientemente bueno. Estas tablas se actualizan con mucha frecuencia, pero no es relevante a muchos de los objetos almacenados en caché. Esto hará que el almacenamiento en caché de datos casi inútil porque va a ser enviado a la frecuencia. Quiero poner en práctica dependencia de caché de SQL en filas específicas para cada objeto. ¿Cómo puedo hacer eso?

¿Fue útil?

Solución

Es necesario comprender cómo funciona SqlDependency. suscribe un conjunto de resultados y ser notificado cuando ese conjunto de resultados ha cambiado . Usted puede suscribir cualquier tipo de conjunto de resultados, que se refiere a cualquier tipo de consulta, siempre y cuando se ajuste a la las restricciones de los estados apoyados . En realidad no hay diferencia si es una tabla o una vista.

Así que técnicamente puede suscribirse para recibir notificaciones específicas mediante la presentación de una consulta específica para esa fila, es decir. con una cláusula duro codificado WHERE. Usted tendría que cambiar su código para recuperar y caché sólo los datos necesarios sobre una base de fila por fila en lugar de recuperar tablas completas y almacenamiento en caché en la memoria. Heck, usted tendría que hacer eso de todos modos si estás al menos preocupados por el tamaño de las tablas. Almacenamiento en caché de tablas completas deberán ser efectuados sólo por los datos del catálogo y de referencia que cambian con poca frecuencia o no en absoluto.

También puede optar por recuperar y particiones de caché de los datos, es decir. gamas individuales de claves (es decir, entre 'A' y 'D', 'E' y etc 'H' y suscribirse para ser notificado de que la partición de datos específica.

Si desea entender cómo funciona SqlDependency mi blog tiene algunos artículos que lo cubren, incluyendo escollos comunes de programación de SqlDependency y problemas de implementación con SqlDependency .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top