Memcache verwenden

Auf dieser Seite wird beschrieben, wie Sie den Memcache-Dienst für Ihre Anwendung mit der Google Cloud Console konfigurieren und überwachen. Außerdem wird erläutert, wie Sie mit der App Engine Memcache Go API zwischengespeicherte Werte festlegen und abrufen können. Weitere Informationen zu Memcache finden Sie in der Memcache-Übersicht.

Memcache konfigurieren

  1. Rufen Sie die Memcache-Seite in der Google Cloud Console auf.
    Zur Seite „Memcache“
  2. Wählen Sie das gewünschte Memcache-Service-Level aus:

    • Freigegeben (Standard): Kostenlos, bietet Cache-Kapazität auf Best-Effort-Basis.
    • Dediziert: Kostenpflichtig, die Abrechnung erfolgt nach Cache-Größe in GB/Stunden. Eine feste Cache-Kapazität steht exklusiv für Ihre Anwendung zur Verfügung.

    Weitere Informationen zu verfügbaren Dienstklassen finden Sie in der Übersicht über Memcache.

Go API importieren

So importieren Sie das memcache-Paket:

import "google.golang.org/appengine/memcache"

Werte im Cache speichern und abrufen

Werte zwischenspeichern

Verwenden Sie Add(), um einen Wert für einen Schlüssel ausschließlich dann zu schreiben, wenn für den Schlüssel noch kein Wert vorhanden ist:

item := &memcache.Item{
        Key:   "[KEY]",
        Value: []byte("[VALUE]"),
}
memcache.Add(c, item)

Dabei ist c ein appengine.Context.

Weitere Informationen zu Add und anderen Funktionen zum Festlegen von Werten finden Sie in der Referenz zur Memcache API.

Zwischengespeicherte Werte suchen

Verwenden Sie Get(), um das Element für einen bestimmten Schlüssel abzurufen:

memcache.Get(ctx, "[KEY]")

Weitere Informationen zu Get und anderen Funktionen zum Suchen von Werten finden Sie in der Referenz zur Memcache API.

Beispiel

Das folgende Beispiel zeigt, wie Memcache-Werte mit der Go API hinzugefügt, festgelegt und abgerufen werden können.

Es wird davon ausgegangen, dass ctx ein appengine.Context ist.

// Create an Item
item := &memcache.Item{
	Key:   "lyric",
	Value: []byte("Oh, give me a home"),
}
// Add the item to the memcache, if the key does not already exist
if err := memcache.Add(ctx, item); err == memcache.ErrNotStored {
	log.Infof(ctx, "item with key %q already exists", item.Key)
} else if err != nil {
	log.Errorf(ctx, "error adding item: %v", err)
}

// Change the Value of the item
item.Value = []byte("Where the buffalo roam")
// Set the item, unconditionally
if err := memcache.Set(ctx, item); err != nil {
	log.Errorf(ctx, "error setting item: %v", err)
}

// Get the item from the memcache
if item, err := memcache.Get(ctx, "lyric"); err == memcache.ErrCacheMiss {
	log.Infof(ctx, "item not in the cache")
} else if err != nil {
	log.Errorf(ctx, "error getting item: %v", err)
} else {
	log.Infof(ctx, "the lyric is %q", item.Value)
}

Memcache in der Google Cloud Console überwachen

  1. Rufen Sie die Memcache-Seite in der Google Cloud Console auf.
    Zur Seite „Memcache“
  2. Sehen Sie sich die folgenden Berichte an:
    • Memcache-Service-Level: Gibt an, ob Ihre Anwendung das Service Level „Freigegeben“ oder „Dediziert“ verwendet. Wenn Sie der Inhaber des Projekts sind, können Sie zwischen den beiden Service-Levels wechseln. Weitere Informationen über die Service Levels
    • Trefferquote: Gibt den Prozentsatz der Datenanfragen an, die aus dem Cache bereitgestellt wurden, sowie die reine Anzahl der Datenanfragen, die aus dem Cache bereitgestellt wurde.
    • Elemente im Cache
    • Alter des ältesten Elements: Das Alter des ältesten Elements im Cache. Das Alter eines Elements wird bei jedem daran ausgeführten Lese- oder Schreibvorgang zurückgesetzt.
    • Gesamtgröße des Cache
  3. Sie können eine der folgenden Aktionen ausführen:

    • Neuer Schlüssel: Fügen Sie dem Cache einen neuen Schlüssel hinzu.
    • Schlüssel suchen: Rufen Sie einen vorhandenen Schlüssel ab.
    • Cache leeren: Entfernen Sie alle Schlüssel/Wert-Paare aus dem Cache.
  4. (Nur dediziertes Memcache-Service-Level) Gehen Sie die Liste der Hot-Schlüssel durch.

    • „Hot-Schlüssel“ sind Schlüssel, die im Memcache mehr als 100 Abfragen pro Sekunde erhalten.
    • Diese Liste enthält bis zu 100 Hot-Schlüssel, sortiert nach der höchsten Abfrage pro Sekunde.

Nächste Schritte