Frage

Ich habe ein Repository, das zieht von beiden db, und manchmal ein Cache.

Um dies zu realisieren, habe ich eine Schnittstelle ICacheWrapper, die die Repo-Verwendung läßt HttpRuntime.Cache, AppFabric, was auch immer. Konkrete Klassen des ICacheWrapper nehmen in der Regel den Cache in ihrem Konstruktor wie so: neue HttpCacheWrapper (HttpRuntime.Cache)

Die Konstrukteurs-Repo nimmt einen Verweis auf einen Cache-Wrapper wie folgt:

myRepo = new Repo(new HttpCacheWrapper(HttpRuntime.Cache));

Wenn ich 2 repos schaffen, kommt der Cache tief kopiert? Ich würde denken, nicht, aber unsere Performance-Probleme zeigen etwas anderes. Habe ich etwas verpasst hier?

Vielen Dank für jede Hilfe!

War es hilfreich?

Lösung

Was sehen Sie? Was bedeutet HttpCacheWrapper do mit der HttpRuntime.Cache es wird übergeben?

Ich vermute, dass das, was Sie sehen, stattdessen ist eine Cache-Politik, die zu lange auf Dinge gilt für die Rate, dass die Dinge im Cache gespeichert werden. Wie Raymond Chen hat gesagt: „falsche Cache-Richtlinie ist nicht von einem Speicherverlust.“

So wie ich diese isolieren würde, ist zu Test mit nur einem Repo zu versuchen, die Politik mit Ihnen haben. Sehen Sie, wenn Ihre Leistungsprobleme auftreten.

Wenn nicht, dann gehen Sie vor und erstellen Sie die zweite Repo- und eng Speichernutzung überwachen.

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