Redis Labs Memcache を使用したアプリケーション データのキャッシュ保存

Redis Labs Memcached Cloud を使用すると、アプリケーション データをキャッシュに保存できます。Memcached Cloud は、Memcached の実行オプションを備えたフルマネージド サービスです。

料金

Redis Labs は、30 MB のストレージを利用できる無料枠を提供しています。

設定

Redis Labs Memcached Cloud を使用するには:

  1. Redis Labs アカウントに登録します。
  2. Memcached Cloud を使用する Memcached バケットを作成します。レイテンシを最小にするために、アプリケーションと同じリージョンに Memcache バケットを作成します。
  3. バケットを編集し、ユーザー名とパスワードを設定します。
  4. バケットの Endpoint をメモします。

Memcached クライアント ライブラリのインストール

Redis Labs は SASL 認証を使用します。このため、バイナリ プロトコルと SASL 認証をサポートする Memcached クライアントを使用する必要があります。

PHP ランタイムにはデフォルトで memcached 拡張機能が含まれています。

Redis Labs Memcache への接続

app.yaml の環境変数に、Memcached サーバー エンドポイント、Redis Labs Memcached バケットのユーザー名とパスワードを設定します。

env_variables:
  # Set your memcache endpoint here. This should be in the format "host:port"
  MEMCACHE_ENDPOINT: "YOUR_MEMCACHE_ENDPOINT"
  # If you are using a Memcached server with SASL authentiation enabled,
  # fill in these values with your username and password.
  MEMCACHE_USERNAME: ""
  MEMCACHE_PASSWORD: ""

アプリケーション コードの環境変数を使用して、Memcached クライアントを構成します。

$endpoint = getenv('MEMCACHE_ENDPOINT');
$username = getenv('MEMCACHE_USERNAME');
$password = getenv('MEMCACHE_PASSWORD');
$memcached = new Memcached;
if ($username && $password) {
    $memcached->setOption(Memcached::OPT_BINARY_PROTOCOL, true);
    $memcached->setSaslAuthData($username, $password);
}
list($host, $port) = explode(':', $endpoint);
if (!$memcached->addServer($host, $port)) {
    throw new Exception("Failed to add server $host:$port");
}

ローカルでの Memcached のテスト

ローカルでアプリケーションをテストする場合、Redis Labs Memcached バケットに接続することもできますが、本番環境のデータとのやり取りを避けるために、Memcached のローカル インスタンスを実行することもできます。

ローカルの Memcached インスタンスを実行するには、OS に Memcached デーモンをインストールします。

Linux

  1. memcached パッケージを使用します。

    Debian または Ubuntu のデリバティブの場合:

    apt-get install memcached
    

    Red Hat、CentOS または Fedora の場合、yum を使用します。

    yum install memcached
    

    Linux Arch の場合:

    pacman -S memcached
    
  2. デーモンとして実行します(自動起動の場合は systemd を確認してください)。

    memcached -d
    

macOS

  1. Homebrew をインストールします。

  2. memcached をインストールします。

    brew install memcached
    
  3. デーモンとして実行します。

    memcached -d
    

Windows

  1. 独自の memcached をビルドします。あるいは、フリーウェアのバイナリをダウンロードすることもできます。

  2. デーモンとして実行します。

    memcached -d