Domanda

Voglio usare la cache di dati sul mio .net C# applicazione.Finora ho aggiunto il caching dei dati e aggiunto cache sql dipendenze specifiche tabelle.Ma questo non è abbastanza buono.Queste tabelle verranno aggiornate di frequente, ma non hanno un sacco di oggetti memorizzati nella cache.Questo renderà il caching dei dati quasi inutile perché non verrà svuotato frequentemente.Io voglio implementare la cache sql dipendenza di righe specifiche per ogni oggetto.Come posso fare?

È stato utile?

Soluzione

È necessario capire come SqlDependency opere.Si la sottoscrizione di un set di risultati e ricevere una notifica quando il set di risultati è cambiato.È possibile iscriversi a qualsiasi tipo di set di risultati, il che significa che qualsiasi tipo di query, è conforme alla restrizioni di bilancio.In realtà non fa differenza se è una tabella o di una vista.

Quindi tecnicamente è possibile iscriversi per notifiche specifiche inviando una query specifiche per fila, vale a dire.con un hard coded clausola WHERE.Sarebbe necessario modificare il codice per recuperare e memorizzare solo i dati necessari riga per riga invece di scaricarli intere tabelle e metterli in cache in memoria.Diamine, avrei dovuto farlo comunque, se siete almeno in questione circa la dimensione di tali tabelle.Cache di intere tabelle deve essere fatto solo per il catalogo e i dati di riferimento che cambiano di rado o non a tutti.

Si può anche scegliere di recuperare e memorizzare le partizioni di dati, vale a dire.i singoli intervalli di chiavi (cioè tra 'A' e 'D', 'E' e 'H' ecc e iscriviti per essere notificato per quella specifica partizione dati.

Se si desidera capire come SqlDependency opere il mio blog alcuni articoli che lo copre, tra cui di programmazione più comuni insidie di SqlDependency e problemi di distribuzione con SqlDependency.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top