Ich verwende das Zwischenspeichern von Ansichten, nachdem ich diese großartigen Fragen und Antworten gelesen und gute Ergebnisse erzielt habe. Ich muss den Ablauf kurz halten, da ich den "letzten Kommentar" in der Ansicht und diese Änderungen häufig anzeige.
Ich denke darüber nach , den Inhaltscache für Ansichten zu verwenden, um den Cache jedes Mal zu verfallen, wenn ein Kommentar hinzugefügt wird. Oder Cache-Aktionen , um dies mit Regeln zu tun.
Ich möchte den Cache sofort nach Ablauf neu erstellen. Ich habe gelesen, dass das Boost-Modul dies bietet, aber ich benötige eine Lösung für authentifizierte Besucher (verwenden Sie Varnish bereits für anonym).
Das Cache-Graceful- Modul scheint dies zu bieten, verfügt jedoch nur über 20 Installationen (plus erfordert einige andere Module).
Gibt es andere Lösungen, mit denen ein Cache abgelaufen und sofort "aufgewärmt" werden kann?
Antworten:
Wenn Sie wissen, welche Funktionen ausgeführt werden müssen, um einen Cache aufzuwärmen, überprüfen Sie httprl . httprl_queue_background_callback () ist die Funktion, deren Verwendung untersucht werden soll. Einfaches Beispiel für den Aufruf von watchdog im Hintergrund http://drupalcode.org/project/httprl.git/blob/24a88acd2180191d0b54696e577f14615e37302d:/README.txt#l268
In Bezug auf das ordnungsgemäße Löschen des Lackcaches gibt es ein gutes Beispiel: https://www.varnish-cache.org/trac/wiki/VCLExampleGrace Verwendetes Beispiel: http://groups.drupal.org/node/63203
quelle
Boost for Drupal 7 funktioniert hervorragend und dank des neuen Crawler-Submoduls und des Cache Expiration-Moduls können Sie jede Auswahl Ihrer Seiten bedingt ablaufen lassen und proaktiv neu zwischenspeichern. Bei einem solchen Setup benötigen Sie keine Module wie den Views Content Cache, da Sie mit der obigen Zubereitung dasselbe Verhalten erzielen können, und zwar nicht nur für Views (Cache Expiration ist in Rules integriert, sodass die Möglichkeiten wirklich unbegrenzt sind). Auf dieser Seite finden Sie ein vollständiges Rezept, mit dem dies funktioniert .
quelle
Es gibt ein ziemlich neues Modul namens https://www.drupal.org/project/recacher. Es arbeitet mit https://www.drupal.org/project/expire und https://www.drupal.org/ zusammen. project / httprl_spider
Anstatt alles neu zu crawlen, werden nur die Knoten zwischengespeichert, die im abgelaufenen Modul gelöscht wurden.
In meiner Landschaft sollte es so funktionieren: Auf Knoten ändern / erstellen -> Ablaufen -> Von Nginx löschen -> mit httprl_spider erneut zwischenspeichern.
Auf diese Weise ist der Cache in den meisten Fällen frisch.
quelle
Sie sollten in Betracht ziehen, das Cache- Aktionsmodul in Verbindung mit einem benutzerdefinierten Modul zu verwenden, das den Code aus dem Cache-Warmer- Modul wiederverwenden kann .
Die Cache-Erwärmung kann durch Pingen der geänderten / gewünschten URLs als verschiedene Benutzer erfolgen (ein Benutzer pro Regel). Sie müssten einige cURL-Aufrufe zusammen mit den Benutzeranmeldeinformationen durchführen. Das Cache Warmer-Modul enthält den Code, wie diese Aufrufe ausgeführt werden sollen.
Mit dem Modul "Caching-Aktionen" können Sie also festlegen, wann der Cache für eine bestimmte Seite beschädigt werden soll, und in der nachfolgenden Aktion in können Sie die Funktion Ihres benutzerdefinierten Moduls aufrufen, um diese bestimmte URL oder diesen URL-Satz im Cache zu erwärmen.
quelle
Ich denke, dass Ihre beste Option Edge Side Includes ist . Schauen Sie sich das Integrationsmodul Edge Side Includes an . Hier ist ein Zitat dazu (von der Projektseite des Moduls):
quelle