Ich bin immer noch auf der Suche nach einer anständigen Lösung für mein Szenario. Grundsätzlich habe ich eine ASP.NET MVC-Website, die ein bisschen Datenbankzugriff hat, um die Ansichten (2-3 Abfragen pro Ansicht) zu machen, und ich möchte Caching nutzen, um die Leistung zu verbessern.ASP.NET MVC Caching-Szenario
Das Problem besteht darin, dass die Ansichten Daten enthalten, die sich unregelmäßig ändern können, z. B. 2 Tage lang, oder die Daten könnten sich mehrmals in einer Stunde ändern.
Die Abfragen sind ziemlich einfach (wählen Sie ... von wo ...) und nicht riesige Joins, jeder gibt im Durchschnitt 20-30 Zeilen von Daten zurück (mit etwa 10 Spalten).
Die Abfragen sind ziemlich einfach auf der aktuellen Stufe der Websites, aber im Laufe der Zeit wird der Besitzer mehr Daten hinzufügen und die Besucherzahlen werden zunehmen. Sie sind im Moment sehr groß und ich würde nach Caching suchen, da der Traffic hauptsächlich von Google AdWords usw. kommen wird und schnelle Lade-Seiten (anscheinend) ein Vorteil sein werden.
Die Website wird auf einer Microsoft SQL Server 2005-Datenbank gehostet (kann aber bei Bedarf auf 2008 aktualisiert werden).
Muss ich entweder:
das Caching auf die minimale Zeit ein Element ändert sich nicht für (zB Cache für etwa 3 Minuten) Stellen und die Eigentümer sagen, dass alle Änderungen bis zu 3 Minuten dauern wird erscheinen?
einen Weg finden, den Cache zu zwingen, und auf Änderungen erneut verarbeiten zu löschen (zB wenn der Eigentümer fügt im Administrations-Bereich ein Element, um es den entsprechenden Cache-Speicher löscht)
Vergessen Sie alle zusammen Cachen
Oder gibt es eine Option, die zu diesem Szenario passt?
Ja, ich habe vergessen, dies zu erwähnen, ich werde einen Kommentar zu der Frage hinzufügen. Sehen Sie sich jetzt Ihren Vorschlag an :) – Phil
Vielleicht sollten Sie sich das ORM-Tool anschauen (zB NHibernate), das einen eingebetteten Mechanismus zum Cachen von Daten hat. – dariol