Azure Cache for Redis を構成する

完了

Redis キャッシュは、Azure portal、Azure CLI、または Azure PowerShell を使用して作成できます。

Azure Cache for Redis インスタンスを作成して構成する

目的に合わせてキャッシュを正しく構成するには、いくつかのパラメーターを決定する必要があります。

名前

Redis キャッシュには、グローバルで一意の名前が必要になります。 この名前は、サービスに接続して通信するための公開 URL の生成に使われるので、Azure 内で一意である必要があります。

この名前は 1 から 63 文字で作成し、数字、英字、"-" 文字のみを使用する必要があります。 キャッシュ名の先頭と末尾には "-" 文字を使用できません。また、連続する "-" 文字は無効です。

場所

キャッシュ インスタンスとアプリケーションは常に同じリージョンに配置してください。 異なるリージョンのキャッシュに接続すると、待ち時間が大幅に増加し、信頼性が低下する可能性があります。 Azure の外部にあるキャッシュに接続する場合は、データを使用するアプリケーションが実行されている場所に近い場所を選びます。

キャッシュの種類

レベルによって、キャッシュに使用できるのサイズ、パフォーマンス、および機能が決まります。 詳細については、Azure Cache for Redis の価格に関するページにアクセスしてください。

ヒント

運用システムでは常に Standard 以上のレベルを使用することをお勧めします。 Basic レベルは単一ノード システムであり、データ レプリケーション機能や SLA がありません。

クラスター化のサポート

Premium、Enterprise、Enterprise Flash の各レベルを使用すると、クラスタリングを実装し、データセットを複数のノードに自動的に分割できます。 クラスタリングを実装するには、シャードの数を最大の 10 に指定します。 発生するコストは、元のノードのコストにシャード数を掛けたものです。

Redis インスタンスへのアクセス

Redis には、クライアントとして Azure Cache for Redis とやり取りするためのコマンドライン ツールがあります。 Windows プラットフォームでこのツールを利用するには、Redis command-line tools for Windows をダウンロードします。 別のプラットフォームからこのコマンドライン ツールを実行するには、https://redis.io/download から Azure Cache for Redis をダウンロードします。

Redis は、既知のコマンドのセットをサポートしています。 コマンドは、通常、COMMAND parameter1 parameter2 parameter3 として発行されます。

使用できるいくつかの一般的なコマンドを次に示します。

コマンド 説明
ping サーバーへの ping を実行します。 PONG を返します。
set [key] [value] キャッシュのキー/値を設定します。 成功したら "OK" を返します。
get [key] キャッシュから値を取得します。
exists [key] キーがキャッシュに存在する場合は "1"、存在しない場合は "0" を返します。
type [key] 指定されたキーの値に関連付けられている型を返します。
incr [key] キーに関連付けられている指定された値を "1" だけ増分します。 値は整数または倍精度値にする必要があります。 新しい値を返します。
incrby [key] [amount] キーに関連付けられている指定された値を、指定された量だけ増分します。 値は整数または倍精度値にする必要があります。 新しい値を返します。
del [key] キーに関連付けられている値を削除します。
flushdb データベース内の "すべての" キーと値を削除します。

コマンドの例を次に示します。

> set somekey somevalue
OK
> get somekey
"somevalue"
> exists somekey
(string) 1
> del somekey
(string) 1
> exists somekey
(string) 0

値への有効期限の追加

キャッシュは、よく使用される値をメモリに格納することができるため、重要です。 ただし、値が古くなったときに期限切れにする手段も必要です。 Redis では、値の有効期限切れは、キーに Time to Live (TTL) を適用することによって行われます。

TTL が経過すると、DEL コマンドが発行されたかのように、キーが自動的に削除されます。 TTL の有効期限には、以下の注意事項があります。

  • 有効期限は、秒またはミリ秒の精度で設定することができます。
  • 有効期限切れの時刻の精度は、常に 1 ミリ秒です。
  • 期限切れに関する情報は、ディスクに複製され、永続的に保管されます。Redis サーバーが停止しているときは、時間は仮想的に経過します (つまり、キーが期限切れになる日付が Redis によって保存されます)。

次に、有効期間の例を示します。

> set counter 100
OK
> expire counter 5
(integer) 1
> get counter
100
... wait ...
> get counter
(nil)

クライアントから Redis Cache へのアクセス

Azure Cache for Redis インスタンスに接続するには、いくつかの情報が必要です。 クライアントでホスト名、ポート、キャッシュのアクセス キーが必要になります。 この情報は、Azure portal の [設定] > [アクセス キー] ページで取得することができます。

  • ホスト名は、キャッシュのパブリック インターネット アドレスです。このアドレスは、キャッシュの名前を使用して作成されたものです。 たとえば、「 sportsresults.redis.cache.windows.net 」のように入力します。

  • アクセス キーは、キャッシュのパスワードとして動作します。 プライマリとセカンダリの 2 つのキーが作成されます。 どちらのキーも使用できます。 プライマリ キーを変更する必要があるときのために、2 つ提供されています。 すべてのクライアントをセカンダリ キーに切り替えて、プライマリ キーを再生成することができます。 こうすると、元のプライマリ キーを使用しているすべてのアプリケーションがブロックされます。 Microsoft では、個人用のパスワードと同じように、定期的にキーを再生成することを推奨しています。

警告

アクセス キーは機密情報であると見なして、パスワードと同じように取り扱う必要があります。 アクセス キーを持っている人は誰でも、キャッシュに対して任意の操作を実行できます。