Memcache-Beispiele

Diese Seite enthält Codebeispiele für die Python-Code 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:

def get_data():
    data = memcache.get('key')
    if data is not None:
        return data
    else:
        data = query_for_data()
        memcache.add('key', data, 60)
    return data

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 zwischenspeichern

Im folgenden Beispiel werden mehrere Methoden zum Festlegen von Werten in Memcache mithilfe der Python API dargestellt.

# Add a value if it doesn't exist in the cache
# with a cache expiration of 1 hour.
memcache.add(key="weather_USA_98105", value="raining", time=3600)

# Set several values, overwriting any existing values for these keys.
memcache.set_multi(
    {"USA_98115": "cloudy", "USA_94105": "foggy", "USA_94043": "sunny"},
    key_prefix="weather_",
    time=3600
)

# Atomically increment an integer value.
memcache.set(key="counter", value=0)
memcache.incr("counter")
memcache.incr("counter")
memcache.incr("counter")

Weitere Informationen zu den Methoden add(), set_multi() und set() finden Sie in der Dokumentation zur Memcache Python API.