クイックスタート: Node.js で Azure Cache for Redis を使用する
このクイック スタートでは、Azure 内の任意のアプリケーションからアクセスできるセキュリティで保護された専用キャッシュにアクセスするために、Azure Cache for Redis を Node.js アプリに組み込みます。
前提条件
- Azure サブスクリプション - 無料アカウントを作成する
- node_redis。これは
npm install redis
コマンドでインストールできます。
他の Node.js クライアントを使用する例については、 Node.js Redis クライアントに関するセクションに記載されている Node.js クライアントの個々のドキュメントを参照してください。
キャッシュの作成
キャッシュを作成するには、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 の形式になります。
[ホスト名] と [プライマリ] アクセス キーの環境変数を追加します。 コードに機密情報を直接含める代わりに、これらの変数をコードから使用します。
set AZURE_CACHE_FOR_REDIS_HOST_NAME=contosoCache
set AZURE_CACHE_FOR_REDIS_ACCESS_KEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
キャッシュに接続する
node_redis の最新のビルドでは、いくつかの接続オプションがサポートされています。 コード内の操作ごとに新しい接続を作成しないでください。 可能な限り接続を再利用してください。
新しい Node.js アプリを作成する
redistest.js という名前の新しいスクリプト ファイルを作成します。
コマンドを使って、redis パッケージをインストールします。
`npm install redis`
次の例の JavaScript をファイルに追加します。
const redis = require("redis"); // Environment variables for cache const cacheHostName = process.env.AZURE_CACHE_FOR_REDIS_HOST_NAME; const cachePassword = process.env.AZURE_CACHE_FOR_REDIS_ACCESS_KEY; if(!cacheHostName) throw Error("AZURE_CACHE_FOR_REDIS_HOST_NAME is empty") if(!cachePassword) throw Error("AZURE_CACHE_FOR_REDIS_ACCESS_KEY is empty") async function testCache() { // Connection configuration const cacheConnection = redis.createClient({ // rediss for TLS url: `rediss://${cacheHostName}:6380`, password: cachePassword }); // Connect to Redis await cacheConnection.connect(); // PING command console.log("\nCache command: PING"); console.log("Cache response : " + await cacheConnection.ping()); // GET console.log("\nCache command: GET Message"); console.log("Cache response : " + await cacheConnection.get("Message")); // SET console.log("\nCache command: SET Message"); console.log("Cache response : " + await cacheConnection.set("Message", "Hello! The cache is working from Node.js!")); // GET again console.log("\nCache command: GET Message"); console.log("Cache response : " + await cacheConnection.get("Message")); // Client list, useful to see if connection list is growing... console.log("\nCache command: CLIENT LIST"); console.log("Cache response : " + await cacheConnection.sendCommand(["CLIENT", "LIST"])); // Disconnect cacheConnection.disconnect() return "Done" } testCache().then((result) => console.log(result)).catch(ex => console.log(ex));
このコードでは、キャッシュ ホスト名とキー環境変数を使用して Azure Cache for Redis のインスタンスに接続する方法を示しています。 コードでは、キャッシュ内の文字列値の格納および取得も行います。
PING
およびCLIENT LIST
コマンドも実行されます。 Redis と node_redis クライアントの他の使用例については、https://redis.js.org/ を参照してください。Node.js でスクリプトを実行します。
node redistest.js
出力の例。
Cache command: PING Cache response : PONG Cache command: GET Message Cache response : Hello! The cache is working from Node.js! Cache command: SET Message Cache response : OK Cache command: GET Message Cache response : Hello! The cache is working from Node.js! Cache command: CLIENT LIST Cache response : id=10017364 addr=76.22.73.183:59380 fd=221 name= age=1 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=26 qbuf-free=32742 argv-mem=10 obl=0 oll=0 omem=0 tot-mem=61466 ow=0 owmem=0 events=r cmd=client user=default numops=6 Done
リソースをクリーンアップする
次のチュートリアルに進む場合は、このクイックスタートで作成されたリソースを保持し、それを再利用できます。 クイックスタートのサンプル アプリケーションの使用を終える場合は、課金を避けるために、このクイックスタートで作成した Azure リソースを削除することができます。
重要
いったん削除したリソース グループを元に戻すことはできません。リソース グループとそこに存在するすべてのリソースは完全に削除されます。 間違ったリソース グループやリソースをうっかり削除しないようにしてください。 このサンプルをホストするためのリソースを、保持するリソースが含まれる既存のリソース グループ内に作成した場合、リソース グループを削除する代わりに、各リソースを個別に削除できます。
Azure portal にサインインし、 [リソース グループ] を選択します。
[名前でフィルター] テキスト ボックスにリソース グループの名前を入力します。 この記事の手順では、TestResources という名前のリソース グループを使用しました。 結果一覧でリソース グループの [...] を選択し、 [リソース グループの削除] を選択します。
リソース グループの削除を確認します。 確認のためにリソース グループの名前を入力し、 [削除] を選択します。
しばらくすると、リソース グループとそこに含まれているすべてのリソースが削除されます。
サンプル コードを入手する
GitHub で Node.js のクイックスタートを入手してください。
次のステップ
このクイック スタートでは、Node.js アプリケーションから Azure Cache for Redis を使用する方法を説明しました。 ASP.NET Web アプリと Azure Cache for Redis を使用するには、次のクイック スタートに進みます。