Memcache の使用方法

このページでは、Google Cloud Platform Console を使用して、アプリケーション用に Memcache サービスを構成してモニタリングする方法を説明します。また、App Engine Memcache Go API を使用して、キャッシュされた値を設定および取得する方法についても説明します。Memcache の詳細については、Memcache の概要をご覧ください。

Memcache を構成する

  1. Google Cloud Platform Console で [Memcache] ページに移動します。
    [Memcache] ページに移動
  2. 使用する Memcache サービスレベルを選択します。

    • 共有(デフォルト) - 無料で、ベスト エフォート ベースでキャッシュ容量を提供します。
    • 専用 - キャッシュ サイズ使用量の GB 時間で請求され、アプリケーションに対して固定キャッシュ容量が独占的に割り当てられます。

    使用可能なサービスクラスについては、Memcache の概要をご覧ください。

Go API のインポート

memcache パッケージをインポートするには:

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

値のキャッシュへの保存と取得

値をキャッシュに保存する

キーの値がまだ存在しない場合にのみ、Add() を使用してキーの値を書き込みます。

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

ここで、cappengine.Context です。

Add や値の設定に使用するその他の関数の詳細については、Memcache API リファレンスをご覧ください。

キャッシュに保存された値を検索する

Get() を使用して、指定したキーの項目を取得します。

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

Get や値の検索に使用するその他の関数の詳細については、Memcache API リファレンスをご覧ください。

次の例は、Go API を使用して Memcache 値を追加、設定、取得する方法を示しています。

ctxappengine.Context であると仮定しています。

// 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)
}

Google Cloud Platform Console での Memcache のモニタリング

  1. Google Cloud Platform Console で [Memcache] ページに移動します。
    [Memcache] ページに移動
  2. 次のレポートを調べます。
    • Memcache サービスレベル: アプリケーションは共有または専用のどちらのサービスレベルを使用しているかを示します。プロジェクトのオーナーの場合は、2 つのサービスレベルを切り替えることができます。詳細については、サービスレベルをご覧ください。
    • ヒット率: Memcache のヒットとミスのパーセンテージと実数を示します。
    • キャッシュ内のアイテム
    • 最も古いアイテムの経過期間: 最も古いキャッシュされたアイテムの経過期間。アイテムの経過時間は使用(読み取りまたは書き込み)されるたびにリセットされます。
    • 総キャッシュ サイズ
  3. 次の操作を行うことができます。

    • 新しいキー: 新しいキーをキャッシュに追加します。
    • キーを検索: 既存のキーを取得します。
    • キャッシュをフラッシュ: キャッシュからすべてのキーと値のペアを削除します。
  4. (専用 Memcache のみ)ホットキーのリストを参照します。

    • 「ホットキー」は Memcache 内の 100 クエリ/秒(QPS)以上を受信するキーです。
    • このリストには QPS の高い順で並べ換えられた最大 100 個のホットキーが含まれます。
    • キー空間全体により均等に負荷を分散する方法のヒントについては、App Engine の Memcache のベスト プラクティスの記事をお読みください。

次のステップ

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

Go の App Engine スタンダード環境