Frage

Ich mag Daten-Caching auf # -Anwendung meiner .net C verwenden. Bisher habe ich Daten-Caching und hinzugefügt SQL-Cache-Abhängigkeiten von bestimmten Tabellen. Aber das ist nicht gut genug. Diese Tabellen werden zu häufig aktualisiert, aber nicht relevant für viele der im Cache gespeicherten Objekte. Dies wird die Daten-Caching macht fast nutzlos, da sie häufig gespült werden, um. Ich mag für jedes Objekt SQL-Cache Abhängigkeit von bestimmten Zeilen implementieren. Wie kann ich das tun?

War es hilfreich?

Lösung

Sie müssen verstehen, wie SqlDependency funktioniert. Sie ein Ergebnis gesetzt abonnieren und benachrichtigt, wenn die Ergebnismenge hat sich geändert . Sie können jede Art von Ergebnismenge abonnieren, die jede Art von Abfrage bedeutet, solange es auf die Einschränkungen der unterstützten Aussagen . Es macht wirklich keinen Unterschied, ob eine Tabelle oder eine Ansicht ist.

So technisch können Sie für bestimmte Benachrichtigungen abonnieren, indem Sie eine Abfrage, die für diese Reihe einreichen, dh. mit einer hart codiert WHERE-Klausel. Sie müssten Ihren Code ändern, dass nur die benötigten Daten auf einer Zeile-für-Zeile-Basis abzurufen und Cache im Gegensatz zu ganzen Tabellen abzurufen und sie in Speicher-Caching. Heck, würde man das sowieso tun müssen, wenn Sie zumindest sind besorgt über die Größe dieser Tabellen. Das Caching ganze Tabellen sollten nur für die Katalog- und Referenzdaten erfolgen, die selten oder gar nicht ändern.

Sie können auch zum Abrufen und Cache-Partitionen der Daten, dh wählen. einzelne Bereiche der Tasten (sagen wir zwischen ‚A‘ und ‚D‘, ‚E‘ und ‚H‘ usw. und zeichnen für diese spezielle Datenpartition informiert werden.

Wenn Sie verstehen, wie SqlDependency funktioniert mein Blog hat einige Artikel über sie, einschließlich und Bereitstellung Probleme mit SqlDependency .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top