Statischer Cache: Was es ist und wie es funktioniert
Veröffentlicht: 2022-06-30Caching-Strategien sind knifflig, daher hat sich unser Support-Manager Ryan Belisle etwas Zeit genommen, um eine Möglichkeit zu erklären, mit statischem Caching eine schnellere Website bereitzustellen.
Lesen Sie weiter, um zu lernen:
- Was sind statische Cache-Inhalte?
- Vorteile des statischen Caches.
- Einschränkungen des statischen Cachings.
- So implementieren Sie statisches Caching.
- So deaktivieren Sie statisches Caching.
Im E-Commerce sind wenige Dinge miserabler, als für eine Werbekampagne zu bezahlen und zuzusehen, wie sie funkelt, nur um zu sehen, wie Ihre Website während Ihrer schönsten Stunde abstürzt und brennt. Manchmal übertreffen Werbeaktionen Ihre Erwartungen und Ihre proaktiven Maßnahmen reichen nicht aus. Was dann?
Eine Taktik, um in letzter Minute mehr Leistung aus Ihrer Website herauszuholen, ist eine Methode namens statisches Caching.
Kopf hoch! Wir empfehlen nicht, einen Last-Minute-Ansatz zu wählen, um mit erwarteten Spitzen im Webverkehr fertig zu werden. Dies ist der Fall, wenn Sie bereits Best Practices zur Optimierung Ihrer Infrastruktur oder App angewendet haben und Ihre Marketingergebnisse alle Erwartungen übertreffen.
Was ist Cache Statischer Inhalt?
Während viele Arten von Caching verfügbar sind, ist statisches Caching eine Methode zum Konvertieren der Seite, die durch die Anfrage eines Benutzers generiert wird, in ein HTML-Dokument , um alle nachfolgenden Anfragen an dieselbe Seite zu bedienen.
Anstatt dass der Server den Site-Code selbst interpretiert, die Datenbank abfragt und ein HTML-Dokument an den Kunden zurücksendet und schließlich die Seite lädt, speichert das statische Caching ein einzelnes Ergebnis aus den ersten beiden Schritten und stellt dieses Dokument jedem anderen zur Verfügung, der die Anfrage stellt .
Vorteile des statischen Cachings
Während grundlegendes, statisches Caching eine tiefgreifende Wirkung haben kann, insbesondere in den folgenden Bereichen:
- Reduzieren Sie den Overhead : Anstatt PHP-Prozesse generieren zu müssen, um Anfragen an Seiten auf der Website zu verarbeiten, liefert der Webserver das HTML-Dokument einfach direkt zurück an die Anfrage auf der statisch zwischengespeicherten Seite.
- Stellen Sie eine „Zielseite“ für den gesamten Klickverkehr bereit: Anstatt Ressourcen für jeden aufzuwenden, der Ihre Homepage besucht oder einem Link zu einer bestimmten URL folgt, stellt dies standardmäßig die zwischengespeicherte Seite bereit, ohne den normalen Betrieb anderer Seiten auf der Website zu beeinträchtigen .
Einschränkungen des statischen Cachings
Ich möchte jedoch darauf hinweisen, dass das statische Caching Einschränkungen hat und im Allgemeinen nur als vorübergehende Lösung verwendet werden sollte. Merken Sie sich:
- Ein statischer Cache ist genau das: statisch. An der Website vorgenommene Änderungen werden nicht auf den auf diese Weise zwischengespeicherten Seiten widergespiegelt.
- Informationen wie „Artikel im Warenkorb“ oder andere Daten, die in den Sitzungsdateien Ihrer Kunden gespeichert sind, funktionieren auf diesen Seiten nicht.
So implementieren Sie statisches Caching
Während es einige verschiedene Möglichkeiten gibt, statisches Caching zu implementieren, sind hier die grundlegenden Schritte, um es manuell zu tun:
1. Melden Sie sich mit SSH bei Ihrem Server an.
2. Erstellen Sie ein separates Verzeichnis in Ihrem Webroot, um die im statischen Cache verwendeten HTML-Dokumente zu speichern.
3. Stellen Sie mit cURL oder Wget Anfragen an die Zielseiten und speichern Sie sie im Verzeichnis unter ihren jeweiligen URI-Namen (Index, Produkte usw.)
4. Fügen Sie Rewrites am Anfang Ihrer .htaccess-Datei hinzu, um Anfragen an die statischen Cache-Dateien umzuleiten, wie z. B. die folgenden:
[Code]
RewriteCond %{REQUEST_URI} ^/?example_category$ [NC]
RewriteRule .* https://www.domain.tld/static/example_category.html [R=302,L]
[/Code]
Alternativ könnten Sie auch ein Skript schreiben, um diesen Prozess zu handhaben. Mit dem folgenden Beispiel können Sie eine Datei mit einer separaten URL in jeder Zeile erstellen. Diese URLs werden dann gelesen, um Ihren statischen Cache zu generieren:
[code language=“bash“]
#!/bin/bash
# Grundlegende Argumentvalidierung
if [ „$#“ -ne 2 ]; dann
echo -e „Muss zwei Argumente an das Skript übergeben.\n\nVerwendung: ./nexcess_static_cache_helper.sh domain url_list_file\n“
Ausgang 1
fi
# Holen Sie sich einige Daten über die Domain
Domäne=$1
Seiten_Datei=$2
# Verzeichnis für statische Seiten im aktuellen Verzeichnis erstellen
cache_dir=./static_cache
wenn ! [[ -d $cache_dir ]]; dann
mkdir $cache_dir
fi
# Laden Sie statische Seiten in HTML-Dateien herunter
URL_list=$(cat $pages_file)
für URL in $URL_list; tun
request_uri=$(echo $URL | cut -d/ -f 4-)
wenn [[ -z „$request_uri“ ]]; dann
cache_page_name=“index“
request_uri="/"
anders
cache_page_name=$(echo $request_uri | perl -pe 's,/|\.,_,g')
fi
wget -q $URL -O $cache_dir/$cache_page_name.html
echo „$request_uri $cache_page_name“ >> $HOME/temp_url.file
erledigt
# Einen Block für den htaccess formatieren
echo -e „########“
echo -e „# START: Statische Cache-URL-Umschreibungen generiert am $(date)“
echo -e „########“
echo -e „RewriteEngine ein“
cat $HOME/temp_url.file | while read uri-Seite; tun
echo „RewriteCond %{REQUEST_URI} ^/?${uri}$ [NC]\n“
echo „RewriteRule .* https://www.${domain}/static_cache/$page [R=302,L]\n“
erledigt
echo -e „######“
echo -e „# END: Statische Cache-URL-Umschreibungen generiert am $(date)“
echo -e „######“
rm $HOME/temp_url.file
[/Code]

So verwenden Sie das obige Skript:
1. Navigieren Sie zum Webroot Ihrer Website und erstellen Sie dann eine Datei namens cache_list.txt oder was auch immer Sie bevorzugen.
2. Öffnen Sie die Datei. Fügen Sie die URL für jede Seite hinzu, die statisch zwischengespeichert werden muss, indem Sie für jeden URL-Eintrag eine neue Zeile verwenden. Dies sollte wie folgt aussehen:
[Code]
https://www.beispiel.com/
https://www.example.com/sale
https://www.example.com/products
[/Code]
Speichern Sie die Datei, erstellen Sie dann eine Datei mit dem obigen Skript und speichern Sie sie unter nexcess_static_cache_helper.sh oder einem beliebigen Namen.
Machen Sie die Datei ausführbar:
[code]chmod +x nexcess_static_cache_helper.sh[/code]
Wenn Sie fertig sind, führen Sie das Skript aus, aber ersetzen Sie es durch Ihren eigenen Dateinamen und den tatsächlichen Domänennamen:
[code]./nexcess_static_cache_helper.sh example.com cache_list.txt[/code]
Dadurch wird ein static_cache-Verzeichnis unter Ihrem Webroot erstellt, das die HTML-Dokumente enthält, die für den statischen Cache verwendet werden sollen. Darüber hinaus zeigt Ihr Terminal eine Ausgabe an, die der folgenden ähnelt:
[Code]
########
# START: Statische Cache-URL-Umschreibungen generiert am Montag, 18. September, 15:49:11 EDT 2017
########
RewriteEngine ein
RewriteCond %{REQUEST_URI} ^/?/$ [NC]\n
RewriteRule .* https://www.example.com/static_cache/index [R=302,L]\n
RewriteCond %{REQUEST_URI} ^/?sale$ [NC]\n
RewriteRule .* https://www.example.com/static_cache/sale [R=302,L]\n
RewriteCond %{REQUEST_URI} ^/?products$ [NC]\n
RewriteRule .* https://www.example.com/static_cache/products [R=302,L]\n
######
# ENDE: Statische Cache-URL-Umschreibungen generiert am Montag, 18. September, 15:49:11 EDT 2017
######
[/Code]
Kopieren Sie den obigen Block und fügen Sie ihn am Anfang Ihrer .htaccess-Datei für die Site ein, die sich im Allgemeinen in Ihrem aktuellen Verzeichnis befinden sollte.
Der statische Cache sollte jetzt aktiviert sein. Löschen Sie im Sinne einer guten Haushaltsführung die Dateien, die wir in den vorherigen Schritten erstellt haben:
[code]rm nexcess_static_cache_helper.sh cache_list.txt[/code]
So deaktivieren Sie statisches Caching
Um das statische Caching zu deaktivieren, entfernen Sie den Codeblock in der .htaccess-Datei.
Wenn Sie die Dateien neu generieren müssen, führen Sie das Skript außerdem erneut aus, und es ersetzt die HTML-Dokumente durch neuere Versionen. Ich würde empfehlen, auch den .htaccess-Codeblock zu ersetzen, nur um den Zeitstempel für zukünftige Referenzen zu aktualisieren.
Jetzt wissen Sie
Wie bereits erwähnt, ist dies nur eine vorübergehende Methode und sollte nicht als primäre Strategie zur Leistungsoptimierung verwendet werden. Für langfristige Lösungen lesen Sie unseren Optimierungsleitfaden, implementieren Sie ein CDN oder wenden Sie sich an unser Support-Team, um zusätzliche Optionen wie das Hosten von Magento, WooCommerce oder WordPress zu erkunden.
Oder sehen Sie sich die verwalteten WordPress-Pakete von Nexcess an, um zu sehen, wie Sie die Leistung Ihrer Website optimieren können.