Python で Azure Redis Cache を使用する方法How to use Azure Redis Cache with Python

このトピックでは、Python を使用して Azure Redis Cache を使用する方法を説明しています。This topic shows you how to get started with Azure Redis Cache using Python.

前提条件Prerequisites

redis-pyをインストールします。Install redis-py.

Azure で Redis Cache を作成するCreate a Redis cache on Azure

キャッシュを作成するには、まず Azure Portal にサインインし、[新規] > [データベース] > [Redis Cache] の順にクリックします。To create a cache, first sign in to the Azure portal, and click New > Databases > Redis Cache.

注意

Azure アカウントがない場合は、数分あれば Azure アカウントを無料で作成 することができます。If you don't have an Azure account, you can Open an Azure account for free in just a couple of minutes.

新しいキャッシュ

注意

キャッシュは、Azure ポータルだけでなく、Resource Manager テンプレート、PowerShell、または Azure CLI を使用して作成することもできます。In addition to creating caches in the Azure portal, you can also create them using Resource Manager templates, PowerShell, or Azure CLI.

[Redis Cache の新規作成] ブレードで、必要なキャッシュ構成を指定します。In the New Redis Cache blade, specify the desired configuration for the cache.

キャッシュの作成

  • キャッシュ エンドポイントに使用する一意のキャッシュ名を [DNS 名] に入力します。In Dns name, enter a unique cache name to use for the cache endpoint. キャッシュ名は 1 ~ 63 文字の文字列で、数字、英字、- 文字のみを使用する必要があります。The cache name must be a string between 1 and 63 characters and contain only numbers, letters, and the - character. キャッシュ名の先頭と末尾には - 文字を使用できません。また、連続する - 文字は無効です。The cache name cannot start or end with the - character, and consecutive - characters are not valid.
  • [サブスクリプション]で、キャッシュに使用する Azure サブスクリプションを選択します。For Subscription, select the Azure subscription that you want to use for the cache. アカウントにサブスクリプションが 1 つしかない場合は自動的に選択されるため、 [サブスクリプション] ドロップダウン リストは表示されません。If your account has only one subscription, it will be automatically selected and the Subscription drop-down will not be displayed.
  • [リソース グループ]で、キャッシュのリソース グループを選択または作成します。In Resource group, select or create a resource group for your cache. 詳細については、リソース グループを使用した Azure リソースの管理に関するページを参照してください。For more information, see Using Resource groups to manage your Azure resources.
  • [場所] を使用して、キャッシュのホストの地理的位置を指定します。Use Location to specify the geographic location in which your cache is hosted. パフォーマンスを最大限に引き出すために、キャッシュは、キャッシュ クライアント アプリケーションと同じリージョンに作成することを強くお勧めします。For the best performance, Microsoft strongly recommends that you create the cache in the same region as the cache client application.
  • [価格レベル] を使用して、必要なキャッシュ サイズと機能を選択します。Use Pricing tier to select the desired cache size and features.
  • Redis クラスター では、53 GB を超えるキャッシュを作成でき、複数の Redis ノード間でデータを共有することもできます。Redis cluster allows you to create caches larger than 53 GB and to shard data across multiple Redis nodes. 詳細については、「 Premium Azure Redis Cache のクラスタリングの構成方法」を参照してください。For more information, see How to configure clustering for a Premium Azure Redis Cache.
  • Redis の永続化 を使用して、Azure ストレージ アカウントにキャッシュを保持できます。Redis persistence offers the ability to persist your cache to an Azure Storage account. 永続化の構成手順については、「 Premium Azure Redis Cache の永続性の構成方法」を参照してください。For instructions on configuring persistence, see How to configure persistence for a Premium Azure Redis Cache.
  • Virtual Network では、指定された Azure Virtual Network 内にあるクライアントのみにキャッシュへのアクセス権を制限することで、セキュリティと分離が強化されます。Virtual Network provides enhanced security and isolation by restricting access to your cache to only those clients within the specified Azure Virtual Network. サブネット、アクセス制御ポリシー、およびその他の Redis へのアクセスをさらに制限する機能を始め、VNet のすべての機能を使用できます。You can use all the features of VNet such as subnets, access control policies, and other features to further restrict access to Redis. 詳細については、「 Premium Azure Redis Cache の Virtual Network のサポートを構成する方法」を参照してください。For more information, see How to configure Virtual Network support for a Premium Azure Redis Cache.
  • 新しいキャッシュでは、SSL を使用しないアクセスが既定で無効になっています。By default, non-SSL access is disabled for new caches. 非 SSL ポートを有効にするには、[ポート 6379 のブロックを解除 (SSL 暗号化されていません)] をオンにします。To enable the non-SSL port, check Unblock port 6379 (not SSL encrypted).

新しいキャッシュ オプションを構成したら、 [作成]をクリックします。Once the new cache options are configured, click Create. キャッシュが作成されるまで数分かかる場合があります。It can take a few minutes for the cache to be created. 状態を確認するには、スタート画面で進行状況を監視してください。To check the status, you can monitor the progress on the startboard. キャッシュが作成されると、新しいキャッシュの状態が 実行中 になって、 既定の設定で使用できるようになります。After the cache has been created, your new cache has a Running status and is ready for use with default settings.

作成されたキャッシュ

ホスト名とアクセス キーを取得するRetrieve the host name and access keys

Azure Redis Cache のインスタンスに接続するには、キャッシュ クライアントにキャッシュのホスト名、ポート、およびキーが必要です。To connect to an Azure Redis Cache instance, cache clients need the host name, ports, and keys of the cache. 一部のクライアントは、若干異なる名前で、これらの項目を参照できます。Some clients may refer to these items by slightly different names. この情報は、Azure Portal で取得するか、Azure CLI などのコマンドライン ツールを使用して取得することができます。You can retrieve this information in the Azure portal or by using command-line tools such as Azure CLI.

Azure Portal を使用して、ホスト名、ポート、およびアクセス キーを取得するRetrieve host name, ports, and access keys using the Azure Portal

Azure Portal を使用してホスト名、ポート、およびアクセス キーを取得するには、Azure Portal でキャッシュを参照し、[リソース] メニューで [アクセス キー] および [プロパティ] をクリックします。To retrieve host name, ports, and access keys using the Azure Portal, browse to your cache in the Azure portal and click Access keys and Properties in the Resource menu.

Redis cache settings

Azure CLI を使用して、ホスト名、ポート、およびアクセス キーを取得するRetrieve host name, ports, and access keys using Azure CLI

Azure CLI 2.0 を使用してホスト名とポートを取得するには az redis show を呼び出し、キーを取得するには az redis list-keys を呼び出します。To retrieve the host name and ports using Azure CLI 2.0 you can call az redis show, and to retrieve the keys you can call az redis list-keys. 次のスクリプトでは、これらの 2 つのコマンドを呼び出し、コンソールにホスト名、ポート、およびキーを表示します。The following script calls these two commands and echos the hostname, ports, and keys to the console.

#/bin/bash

# Retrieve the hostname, ports, and keys for contosoCache located in contosoGroup

# Retrieve the hostname and ports for an Azure Redis Cache instance
redis=($(az redis show --name contosoCache --resource-group contosoGroup --query [hostName,enableNonSslPort,port,sslPort] --output tsv))

# Retrieve the keys for an Azure Redis Cache instance
keys=($(az redis list-keys --name contosoCache --resource-group contosoGroup --query [primaryKey,secondaryKey] --output tsv))

# Display the retrieved hostname, keys, and ports
echo "Hostname:" ${redis[0]}
echo "Non SSL Port:" ${redis[2]}
echo "Non SSL Port Enabled:" ${redis[1]}
echo "SSL Port:" ${redis[3]}
echo "Primary Key:" ${keys[0]}
echo "Secondary Key:" ${keys[1]}

このスクリプトの詳細については、「Get the hostname, ports, and keys for Azure Redis Cache (Azure Redis Cache のホスト名、ポート、およびキーを取得する)」を参照してください。For more information about this script, see Get the hostname, ports, and keys for Azure Redis Cache. Azure CLI 2.0 の詳細については、「Install Azure CLI 2.0 (Azure CLI 2.0 のインストール)」と「Get started with Azure CLI 2.0 (Azure CLI 2.0 の使用開始)」を参照してください。For more information on Azure CLI 2.0, see Install Azure CLI 2.0 and Get started with Azure CLI 2.0.

非 SSL エンドポイントを有効にするEnable the non-SSL endpoint

一部の Redis クライアントは SSL をサポートしていないため、既定では、 新しい Azure Redis Cache インスタンスに対して非 SSL ポートは無効になっていますSome Redis clients don't support SSL, and by default the non-SSL port is disabled for new Azure Redis Cache instances. この記事の執筆時には、 redis-py クライアントが SSL をサポートしていません。At the time of this writing, the redis-py client doesn't support SSL.

非 SSL ポートを有効にするには、Azure Portal でキャッシュを参照し、[詳細設定] をクリックします。To enable the non-SSL port, browse to your cache in the Azure portal and click Advanced settings. [詳細設定] ブレードにある [SSL によるアクセスのみ許可する][いいえ] をクリックしてから、[保存] をクリックします。Click No for Allow access only via SSL on the Advanced settings blade and then click Save.

Redis cache settings

キャッシュに何か追加し、取得するAdd something to the cache and retrieve it

>>> import redis
>>> r = redis.StrictRedis(host='<name>.redis.cache.windows.net',
      port=6380, db=0, password='<key>', ssl=True)
>>> r.set('foo', 'bar')
True
>>> r.get('foo')
b'bar'

<name> を実際のキャッシュ名、key を実際のアクセス キーに置き換えます。Replace <name> with your cache name and key with your access key.