Ich sehe, dass es in jeder meiner Ansichten Cache-Einstellungen gibt. Muss ich diese Einstellungen vornehmen oder werden sie von den Core-Caching-Mechanismen in / admin / config / development / performance automatisch vorgenommen, und diese "zusätzlichen Einstellungen" in Ansichten gelten, wenn ich das Standard-Caching-Verhalten von Drupal Core überschreiben möchte?
23
Antworten:
WAS: Im Core Performance Caching wird die gesamte gerenderte Seite mit einer Cache-ID der URL gespeichert und bereitgestellt. Das Zwischenspeichern von Ansichten geht darüber hinaus, um nur die Ansichtsausgabe zwischenzuspeichern.
WARUM: Es ist großartig für eingeloggte Benutzer. Andere Blöcke auf der Seite sind möglicherweise dynamischer, aber die Ansicht muss nicht jedes Mal eine Abfrage für jeden Benutzer ausführen. Nur der gelegentliche Benutzer, der den Seiten-Cache generiert, läuft nach Ablauf der Cache-Lebensdauer ab.
EINSTELLUNGEN: Das Zulassen, dass die "gerenderte Ausgabe" aktueller als die Abfrage ist, ist nützlich, wenn Sie Inhalte als neu markieren oder sie einfach abgleichen möchten .
BIG PICTURE: Drupal stellt Seiten dynamisch zur Verfügung und verwendet einen Server, um Seiten in PHP zu erstellen und auf eine Datenbank (oder einen speicherinternen Cache) zuzugreifen. Dies ermöglicht fantastische Funktionen und die Geschwindigkeit des Inhaltseditors ... aber der Kompromiss muss das Caching verstehen und es richtig machen.
MODULE!
Es gibt auch ein hübsches Modul für den Ansichts- Inhalts-Cache, das den Ansichts-Cache beim Bearbeiten von Inhalten löscht. Wenn Sie weiter gehen möchten, können Sie auch Cache-Aktionen auschecken . Ich empfehle Regeln , um dies zu optimieren.
Darüber hinaus können Sie mit Blockcache-Änderung für jeden Block auf Ihrer Site Optionen für die Zwischenspeicherung nach Rolle, Seite, Benutzer usw. festlegen.
Sie können auch hinzufügen Seite Manager und Panels . Auf diese Weise können Sie interessante Dinge tun, z. B. den Cache "pro Benutzer", "pro Rolle" oder eine Reihe anderer sehr nützlicher Konfigurationen festlegen. Obwohl ich persönlich Panels meide.
DOKUMENTATION: Informationen zum Caching und zur Leistung im Allgemeinen finden Sie auf der Drupal.org-Seite .
quelle
Views verwendet die Drupal-Cache-APIs, erstellt jedoch einen eigenen Cache, der nicht mit dem normalen Drupal-Seiten- / Block-Cache zusammenhängt.
Views speichert die View-Definition selbst zusammen mit der gerenderten View selbst im Cache. Die gerenderte Ansicht kann auf zwei Arten zwischengespeichert werden, entweder als Abfrageergebnis oder als tatsächlicher HTML-Code der Ansicht. Normalerweise möchten Sie den ausgegebenen HTML-Code zwischenspeichern, da dies die effektivste Leistung ist. In einigen Fällen, in denen Sie die Ausgabe basierend auf dem angemeldeten Benutzer ändern möchten, kann das Zwischenspeichern der Abfrage ebenfalls sehr effektiv sein.
Die Tabellen, die Views zum Speichern des Caches verwendet, sind:
cache_views
cache_views_data
quelle
Es gibt jetzt ein interessantes Modul namens " Views Cache Bully" , das automatisch alle Views (Abfrageergebnisse und Ausgabe) zwischenspeichert, mit Ausnahme von Views mit offengelegten Formularen. Mit dem Modul können Sie Ansichten auch manuell aus dem Caching ausschließen. Auf diese Weise können Sie das Caching für alle Ansichten (mit Ausnahme der ausgeschlossenen) von einem zentralen Punkt aus festlegen.
quelle
Drupal 7 bietet Seiten-Caching, das Seiten-Caching funktioniert jedoch nur für anonyme Benutzer und speichert keine Ansichten im Cache
Das Zwischenspeichern von Ansichten funktioniert jedoch sowohl für anonyme als auch für angemeldete Benutzer
quelle