Selektives Cache-Löschen über Lastausgleichserver (ASP.Net)

8

Wir haben eine Website, die auf zwei Servern mit Lastausgleich ausgeführt wird. Wir verwenden das ASP.Net-Caching, um die Leistung zu verbessern, indem Sie hohe Nutzungsdaten zwischenspeichern. ABER, gelegentlich ändern sich diese Daten. Wenn dies der Fall ist, müssen die relevanten Cache-Elemente auf BEIDEN Servern mit Lastenausgleich gelöscht werden. Hat jemand einige leicht zu implementierende Vorschläge dafür, wie das gemacht werden kann?

Ich weiß, dass es Software für Sie gibt (Microsoft Velocity für einen). Ich weiß auch, dass es andere Möglichkeiten gibt, getrennte Zustandsserver usw. zu haben. Jedoch, für was wir wollen, scheinen sie alle wie Overkill. Wir brauchen nur einen einfachen Mechanismus, um bestimmte Cache-Elemente auf mehreren Servern zu löschen.

Danke für Anregungen.

    
James 21.04.2009, 21:26
quelle

2 Antworten

1

Wir verwenden einen einfachen Web-Service-Ansatz. Unser Cache-Löschmechanismus überprüft eine Web-Konfigurationseinstellung, um festzustellen, ob andere Server vorhanden sind, und ruft den Webdienst auf diesen Servern asynchron auf.

Wir speichern Daten mit spezifischen Namenskonventionen, um die gewünschten Inhalte zu vereinfachen. Daher geben wir entweder ein Präfix oder ein Postfix für das zu entfernende Element ein, da es manchmal benutzerspezifisch sein kann (z. B. die Benutzerkennung wird an den Namen des Elements angehängt) oder anwendungsspezifisch (z. B. das Präfix des Elements ist die Anwendung) Name).

Hier ist ein VB-Beispiel für die ClearItem-Routine, die auf einem Ihrer Knoten aufgerufen würde:

%Vor%

Sie können sehen, dass der obige Code andere Server aufruft, indem Sie diese Hilfsklasse verwenden:

%Vor%

Der Webdienst auf dem Remote-Server ruft dann denselben Code auf, den das _ClearItem aufgerufen hat.

    
wweicker 21.04.2009, 21:44
quelle
5

Warum definieren Sie nicht eine Cache-Abhängigkeit für ein Objekt, das beide Server sehen können? Sie könnten ein SQL oder Datei Cache-Abhängigkeit.

Link zur Caching-Msdn-Seite

    
JoshBerke 21.04.2009 21:37
quelle