Ich baue einen Web-Shop mit vielen Abteilungen und Kategorien. Sie werden in unserer Datenbank gespeichert und oft abgerufen.Asp.net - Caching vs statische Variable zum Speichern eines Wörterbuchs
Wir verwenden URL-Rewriting, so dass fast jede Anfrage innerhalb des Geschäfts eine Suche generiert. Wir müssen auch häufig über die Daten iterieren, um Menüs für den Hauptspeicher und die Abteilungsseiten zu erzeugen.
Diese Informationen werden sich nicht oft ändern, daher denke ich, dass ich die Datenbank in ein Wörterbuch laden sollte, um den Informationsabruf zu beschleunigen.
Ich weiß, dass die Standardmethode darin besteht, Daten in den Anwendungscache zu laden, aber ich nehme an, dass beim Caching Serialisierungsebenen vorhanden sind, und für eine große Datenstruktur würde der Overhead erheblich sein.
Mein Impuls dabei ist, das Wörterbuch in eine statische Variable in einer der verwandten Klassen zu setzen. Ich möchte jedoch etwas Input dazu bekommen. Habe ich Recht, dass diese Methode schneller wäre? Ist es eine schreckliche Übung? Gibt es einen besseren Weg, den ich vermisse?
Ich kann nicht scheinen, viele Informationen darüber zu finden, und ich würde wirklich jede Information schätzen, die Sie teilen können. Vielen Dank!
Vielen Dank - Genau das musste ich wissen. –
froh zu helfen :) – LorenVS
Stellen Sie nur sicher, dass, wenn Sie die Anwendung oder den Cache verwenden, sie pro Computer sind. Wenn Sie mehrere Maschinen (zB Webfarm) haben, dann sind Sie in Schwierigkeiten .. und Sie müssen eine skalierbare Caching-Lösung, wie Microsoft Velocity oder MemCacheD verwenden (das 'D' ist für Daemon). –