Auf dieser Seite finden Sie Python-Codebeispiele zur Verwendung von Memcache. Memcache ist ein leistungsstarkes, verteiltes Speicherobjekt-Caching-System, das schnellen Zugriff auf im Cache gespeicherte Daten bietet. Weitere Informationen zu Memcache finden Sie in der Übersicht über Memcache.
Memcache-Muster
Memcache wird in der Regel nach folgendem Muster verwendet:
- Die Anwendung erhält eine Anfrage vom Nutzer oder der Anwendung.
- Die Anwendung überprüft, ob die zur Erfüllung dieser Anfrage erforderlichen Daten in Memcache vorliegen.
- Wenn die Daten in Memcache vorliegen, verwendet die Anwendung diese Daten.
- Wenn die Daten nicht in Memcache vorliegen, fragt die Anwendung den Datenspeicher ab und speichert die Ergebnisse für zukünftige Requests in Memcache.
Der unten stehende Pseudocode stellt einen typischen Memcache-Request dar:
Memcache wird in ndb intern verwendet, um Abfragen zu beschleunigen. Sie können jedoch auch explizit Memcache-Aufrufe hinzufügen, um die Beschleunigungen besser steuern zu können.
Daten im Cache speichern
Im folgenden Beispiel werden mehrere Methoden zum Festlegen von Werten in Memcache mithilfe der Python API dargestellt.
Weitere Informationen zu den Methoden add()
, set_multi()
und set()
finden Sie in der Dokumentation zur Memcache Python API.
guestbook.py
für die Verwendung von Memcache ändern
Die Gästebuch-App fragt den Datenspeicher bei jeder Anforderung ab. Dies erfolgt über ndb, sodass bereits einige Memcache-Beschleunigungen erzielt werden. Sie können die Gästebuch-App so ändern, dass Memcache explizit verwendet wird, bevor auf das Abfragen des Datenspeichers zurückgegriffen wird.
Importieren Sie zuerst das Memcache-Modul und erstellen Sie die Methode, mit der Memcache vor dem Ausführen einer Abfrage überprüft wird.
Als Nächstes trennen wir das Abfragen und das Erstellen des HTML-Codes für die Seite. Wenn kein Treffer im Cache vorliegt, rufen Sie diese Methode auf, um den Datenspeicher abzufragen und den HTML-String zu erstellen, der in Memcache gespeichert wird.
Schließlich aktualisieren wir den MainPage
-Handler für den Aufruf der Methode "get_greetings()" und die Anzeige von Statistiken zur Anzahl der Cache Hits bzw. Misses.