クイックスタート: Python で Azure Cache for Redis を使用する
この記事では、Azure 内の任意のアプリケーションからアクセスできるセキュリティで保護された専用キャッシュにアクセスするために、Azure Cache for Redis を Python アプリに組み込みます。
GitHub のコードにスキップする
この記事をスキップしてすぐにコードをご覧になりたい方は、GitHub にある Python のクイックスタートを参照してください。
前提条件
- Azure サブスクリプション - 無料アカウントを作成する
- Python 3
- macOS または Linux の場合は、python.org からダウンロードします。
- Windows 11 の場合は、Microsoft Store を使用します。
Azure Cache for Redis インスタンスを作成する
キャッシュを作成するには、Azure portal にサインインし、 [リソースの作成] を選択します。
[新規] ページで、 [データベース] を選択し、 [Azure Cache for Redis] を選択します。
[新規 Redis Cache] ページで、新しいキャッシュの設定を構成します。
設定 値を選択する 説明 サブスクリプション ドロップダウンで、ご自身のサブスクリプションを選択します。 この新しい Azure Cache for Redis インスタンスが作成されるサブスクリプション。 リソース グループ ドロップ ダウンでリソース グループを選択するか、 [新規作成] を選択し、新しいリソース グループの名前を入力します。 その中にキャッシュやその他のリソースを作成するリソース グループの名前。 すべてのアプリ リソースを 1 つのリソース グループに配置することで、それらをまとめて簡単に管理または削除できます。 DNS 名 一意の名前を入力します。 キャッシュ名は 1 から 63 文字の文字列で、数字、英字、ハイフンのみを使用する必要があります。 名前の先頭と末尾には数字または文字を使用する必要があり、連続するハイフンを含めることはできません。 キャッシュ インスタンスの "ホスト名" は、<DNS name>.redis.cache.windows.net です。 場所 ドロップ ダウンで場所を選択します。 キャッシュを使用する他のサービスの近くのリージョンを選択します。 キャッシュの種類 ドロップ ダウンでレベルを選択します。 レベルによって、キャッシュに使用できるのサイズ、パフォーマンス、および機能が決まります。 詳細については、Azure Cache for Redis の概要に関するページを参照してください。 [ネットワーク] タブを選択するか、ページの下部にある [ネットワーク] ボタンを選択します。
[ネットワーク] タブで、接続方法を選択します。
[次へ: 詳細] タブを選択するか、ページの下部にある [次へ: 詳細] ボタンを選択して、[詳細] タブを表示します。
- Basic または Standard キャッシュの場合は、非 TLS ポートの選択を切り替えます。 Microsoft Entra 認証を有効にするかどうかを選択することもできます。
- Premium キャッシュの場合は、非 TLS ポート、クラスタリング、マネージド ID、データ永続化の設定を構成します。 Microsoft Entra 認証を有効にするかどうかを選択することもできます。
ページの下部にある [次へ: タグ] タブを選択するか、ページの下部にある [次へ: タグ] ボタンを選択します。
必要に応じて、 [タグ] タブで、リソースを分類する場合は名前と値を入力します。
[Review + create](レビュー + 作成) を選択します。 [確認および作成] タブが表示され、Azure によって構成が検証されます。
緑色の検証に成功のメッセージが表示された後、 [作成] を選択します。
キャッシュが作成されるまで、しばらく時間がかかります。 Azure Cache for Redis の [概要] ページで進行状況を監視できます。 [状態] に "実行中" と表示されている場合は、キャッシュを使用する準備ができています。
Azure portal からホスト名、ポート、アクセス キーを取得する
Azure Cache for Redis サーバーに接続するには、キャッシュ クライアントにキャッシュのホスト名、ポート、およびキーが必要です。 クライアントによっては、これらの項目を参照するための名前が若干異なる場合があります。 ホスト名、ポート、およびキーは Azure portal から取得できます。
アクセス キーを取得するには、キャッシュの左側のナビゲーションから [アクセス キー] を選択します。
ホスト名とポートを取得するには、キャッシュの左側のナビゲーションから [プロパティ] を選択します。 ホスト名は、<DNS 名>.redis.cache.windows.net の形式になります。
redis-py をインストールする
redis-py は、Azure Cache for Redis の Python インターフェイスです。 Python パッケージ ツールの pip
を使用して、コマンド プロンプトから redis-py
パッケージをインストールします。
次の例では、Python 3 の pip3
を使用して、管理者コマンド プロンプトから Windows 11 に redis-py
をインストールしました。
キャッシュの読み取りと書き込みを実行する
コマンド ラインから Python を実行し、次のコードを使用してキャッシュをテストします。 <Your Host Name>
と <Your Access Key>
を、Azure Cache for Redis インスタンスの値に置き換えます。 ホスト名は、<DNS name>.redis.cache.windows.net
の形式になります。
>>> import redis
>>> r = redis.StrictRedis(host='<Your Host Name>',
port=6380, db=0, password='<Your Access Key>', ssl=True)
>>> r.set('foo', 'bar')
True
>>> r.get('foo')
b'bar'
重要
Azure Cache for Redis バージョン 3.0 以降では、TLS/SSL 証明書の確認が適用されます。 Azure Cache for Redis に接続するときは、ssl_ca_certs
を明示的に設定する必要があります。 RedHat Linux の場合、ssl_ca_certs
は /etc/pki/tls/certs/ca-bundle.crt
証明書モジュールにあります。
Python サンプル アプリを作成する
新しいテキスト ファイルを作成し、次のスクリプトを追加して、ファイルを PythonApplication1.py
として保存します。 <Your Host Name>
と <Your Access Key>
を、Azure Cache for Redis インスタンスの値に置き換えます。 ホスト名は、<DNS name>.redis.cache.windows.net
の形式になります。
import redis
myHostname = "<Your Host Name>"
myPassword = "<Your Access Key>"
r = redis.StrictRedis(host=myHostname, port=6380,
password=myPassword, ssl=True)
result = r.ping()
print("Ping returned : " + str(result))
result = r.set("Message", "Hello!, The cache is working with Python!")
print("SET Message returned : " + str(result))
result = r.get("Message")
print("GET Message returned : " + result.decode("utf-8"))
result = r.client_list()
print("CLIENT LIST returned : ")
for c in result:
print(f"id : {c['id']}, addr : {c['addr']}")
Python で PythonApplication1.py
を実行します。 次の例のような結果が表示されるはずです。
リソースをクリーンアップする
このクイック スタートで作成した Azure リソース グループとリソースを使い終わった場合は、課金されないようにそれらを削除することができます。
重要
リソース グループを削除すると元に戻すことはできません。リソース グループとそこに存在するすべてのリソースは完全に削除されます。 保持したい既存のリソース グループに Azure Cache for Redis インスタンスを作成した場合は、キャッシュの [概要] ページから [削除] を選択して、キャッシュのみを削除できます。
リソース グループとその Redis Cache for Azure インスタンスを削除するには、次のようにします。
Azure portal から、 [リソース グループ] を検索して選択します。
[名前でフィルター] テキストボックスに、キャッシュ インスタンスを含むリソース グループの名前を入力し、検索結果からそれを選択します。
リソース グループ ページで [リソース グループの削除] を選択します。
リソース グループの名前を入力してから、 [削除] を選択します。