閱讀英文版本

分享方式:


快速入門:搭配使用 Azure Cache for Redis 與 ASP.NET Core Web 應用程式

在本快速入門中,您會將 Azure Cache for Redis 納入 ASP.NET Core Web 應用程式,該應用程式會連線至 Azure Cache for Redis 來儲存資料和從快取取得資料。

您可以在 ASP.NET Core Web 應用程式中使用快取提供者。 若要在對現有程式碼進行最少變更的情況下,快速開始使用 Redis,請參閱:

跳至程式碼

本文說明如何修改範例應用程式的程式碼,以建立連線至 Azure Cache for Redis 的工作應用程式。

如果您想要直接前往程式碼,請參閱 GitHub 上的 ASP.NET Core 快速入門範例 (英文)。

您可以複製 Azure Cache for Redis 範例 (英文) GitHub 存放庫,然後移至 quickstart/aspnet-core 目錄檢視本文所述步驟的完整原始程式碼。

quickstart/aspnet-core 目錄也將設定為 Azure Developer CLI (部分機器翻譯) 範本。 使用開放原始碼的 azd 工具,簡化從本機環境到 Azure 的佈建與部署。 或者,可選擇性執行 azd up 命令以自動佈建 Azure Cache for Redis 執行個體,並設定本機範例應用程式以連線至該執行個體:

azd up

探索 eShop 範例

在下一個步驟中,您可以看到示範 ASP.NET Core 快取提供者的實際案例 eShop 應用程式:使用 Redis 快取提供者的 ASP.NET Core eShop (英文)。

功能包括:

  • Redis 分散式快取
  • Redis 工作階段狀態提供者

部署說明在 GitHub 上 ASP.NET Core 快速入門範例 (英文) 的 README.md 檔案中。

必要條件

建立快取

  1. 若要建立快取,請登入 Azure 入口網站。 在入口網站功能表中,選取 [建立資源]

    顯示 Azure 入口網站左側瀏覽窗格中醒目提示顯示「建立資源」選項的螢幕擷取畫面。

  2. 在 [開始使用] 窗格中,於搜尋列中輸入「Azure Cache for Redis」。 在搜尋結果中,尋找「Azure Cache for Redis」,然後選取 [建立]

    顯示 Azure Marketplace 的螢幕擷取畫面,搜尋方塊中有 Azure Cache for Redis,且「建立」按鈕已醒目顯示。

  3. 在 [新增 Azure Cache for Redis] 窗格的 [基本] 索引標籤上,為您的快取設定下列設定:

    設定 動作 描述
    訂用帳戶 選取 Azure 訂閱。 用於建立新 Azure Cache for Redis 執行個體的訂用帳戶。
    資源群組 選取資源群組,或選取 [新建] 並輸入新的資源群組名稱。 用來建立快取和其他資源的資源群組名稱。 將所有的應用程式資源放在一個資源群組中,您將可輕鬆地一併管理或刪除這些資源。
    DNS 名稱 輸入唯一名稱。 快取名稱必須是 1 到 63 個字元的字串,且只能包含數字、字母和連字號。 名稱的開頭和結尾必須是數字或字母,且不可包含連續的連字號。 快取執行個體的主機名稱\<DNS name>.redis.cache.windows.net
    地點 選取位置。 靠近使用您快取其他服務的 Azure 區域
    快取 SKU 選取 [SKU] 快取的可用大小、效能和功能參數取決於 SKU。 如需詳細資訊,請參閱 Azure Cache for Redis 概觀
    快取大小 選取快取大小。 如需詳細資訊,請參閱 Azure Cache for Redis 概觀
  4. 選取 [網路] 索引標籤,或選取 [下一步: 網路]

  5. 在 [網路] 索引標籤上,選取要用於快取的連線方法。

  6. 選取 [進階] 索引標籤,或選取 [下一步: 進階]

  7. 在 [進階] 標籤上,選取 [Microsoft Entra 驗證] 核取方塊以啟用 Microsoft Entra 驗證。

    顯示 [進階] 窗格,以及可供選取可用選項的螢幕擷取畫面。

    重要

    為了獲得最佳安全性,建議您盡可能使用 Microsoft Entra ID 搭配受控識別來授權對快取的要求。 使用 Microsoft Entra ID 和受控識別進行授權,提供比共用存取金鑰授權更優異的安全性和易用性。 如需搭配快取使用受控識別的詳細資訊,請參閱使用 Microsoft Entra ID 進行快取驗證 (部分機器翻譯)。

  8. (選用) 選取 [標籤] 索引標籤,或選取 [下一步: 標籤]

  9. (選用) 如果您想要分類快取資源,請在 [標籤] 索引標籤上輸入標籤名稱和值。

  10. 選取 [檢閱 + 建立] 按鈕。

    在 [檢閱 + 建立] 索引標籤上,Azure 會自動驗證您的設定。

  11. 出現綠色的 [通過驗證] 訊息之後,請選取 [建立]

新的快取部署會在幾分鐘內進行。 您可以在 Azure Cache for Redis 概觀窗格上監視部署進度。 當 [狀態] 顯示 [執行中] 時,表示快取已可供使用。

取得主機名稱

若要連線 Azure Cache for Redis 伺服器,快取用戶端需要快取的主機名稱和其他資訊。 某些用戶端可能會使用略有不同的名稱來參考項目。 您可以在 Azure 入口網站中取得主機名稱。

  1. 在 Azure 入口網站中,移至您的快取。
  2. 在服務功能表上,選取 [概觀]
  3. 在 [基本資訊] 底下,針對 [主機名稱],選取 [複製] 圖示以複製主機名稱值。 主機名稱值的格式為 <DNS name>.redis.cache.windows.net

顯示 Azure Cache for Redis 屬性並醒目提示顯示主機名稱的螢幕擷取畫面。

新增 Redis 使用者存取原則

必須為存取 Azure Cache for Redis 的身分識別指派資料存取原則。 在此範例中,您將資料存取原則指派至用於登入 Azure CLI 或 Visual Studio 的 Microsoft Entra ID 帳戶。

  1. 在 Azure 入口網站中,移至您的快取。

  2. 在服務功能表上的 [設定] 底下,選取 [資料存取設定]

  3. 在 [資料存取設定] 窗格中,選取 [新增] > [新增 Redis 使用者]

    螢幕擷取畫面:顯示在資料存取設定窗格中,已醒目提示「新增 Redis 使用者」。

  4. 在 [新增 Redis 使用者] 窗格中,選擇 [資料參與者] 政策,然後選取 [下一步: Redis 使用者]

  5. 選擇 [選取成員] 以開啟飛出視窗功能表。 搜尋您的使用者帳戶,並在結果中選取。

    螢幕擷取畫面:顯示「新增 Redis 使用者」窗格上的 Redis 使用者索引標籤,且已醒目提示「選取成員」。

  6. 選取 [檢閱 + 指派] 以將原則指派至選取的使用者。

為主機名稱新增本機祕密

在您的命令視窗中,執行下列命令來儲存名為 RedisHostName 的新祕密。 在程式碼中,以您的快取名稱和主要存存取金鑰包括角括號在內取代佔位符:

dotnet user-secrets set RedisHostName "<cache-name>.redis.cache.windows.net"

使用 RedisConnection 連線到快取

RedisConnection 類別會管理快取的連線。 連線是由 Controllers 資料夾 HomeController.cs 檔案中的下列陳述式所建立:

_redisConnection = await _redisConnectionFactory;

RedisConnection.cs (位於要包含的檔案必要類型的頂端) 檔案包含 StackExchange.Redis 和 Azure.Identity 命名空間,以便連線至 Azure Cache for Redis:

using StackExchange.Redis;
using Azure.Identity;

RedisConnection 類別程式碼可確保快取一律有狀況良好的連線。 連線由 StackExchange.Redis 中的 ConnectionMultiplexer 執行個體管理。 當連線遺失且無法自動重新連線時,RedisConnection 類別會重新建立連線。

如需詳細資訊,請參閱 StackExchange.RedisStackExchange.Redis GitHub 存放庫中的程式碼。

驗證範例中的版面配置檢視

此範例的首頁版面配置會儲存在 _Layout.cshtml 檔案中。 在下一節中,您會使用在此新增的控制器測試快取。

  1. 開啟 Views\Shared\_Layout.cshtml

  2. 確認下列這一行位於 <div class="navbar-header"> 中:

    <a class="navbar-brand" asp-area="" asp-controller="Home" asp-action="RedisCache">Azure Cache for Redis Test</a>
    

顯示網頁歡迎頁面的螢幕擷取畫面。

顯示快取中的資料

在首頁上,選取導覽列中的 [Azure Cache for Redis 測試],以查看範例輸出。

  1. 在方案總管中,展開 [檢視] 資料夾,然後在 [主資料夾] 資料夾上按一下滑鼠右鍵。

  2. 確認下列程式碼位於 RedisCache.cshtml 檔案中:

    @{
        ViewBag.Title = "Azure Cache for Redis Test";
    }
    
    <h2>@ViewBag.Title.</h2>
    <h3>@ViewBag.Message</h3>
    <br /><br />
    <table border="1" cellpadding="10">
        <tr>
            <th>Command</th>
            <th>Result</th>
        </tr>
        <tr>
            <td>@ViewBag.command1</td>
            <td><pre>@ViewBag.command1Result</pre></td>
        </tr>
        <tr>
            <td>@ViewBag.command2</td>
            <td><pre>@ViewBag.command2Result</pre></td>
        </tr>
        <tr>
            <td>@ViewBag.command3</td>
            <td><pre>@ViewBag.command3Result</pre></td>
        </tr>
        <tr>
            <td>@ViewBag.command4</td>
            <td><pre>@ViewBag.command4Result</pre></td>
        </tr>
        <tr>
            <td>@ViewBag.command5</td>
            <td><pre>@ViewBag.command5Result</pre></td>
        </tr>
    </table>
    

在本機執行應用程式

  1. 在命令提示字元視窗中,使用下列命令來建置應用程式:

    dotnet build
    
  2. 使用此指令執行應用程式:

    dotnet run
    
  3. 在網頁瀏覽器中,移至 https://localhost:5001

  4. 在網頁瀏覽列上,選擇 [Azure Cache for Redis 測試] 以測試快取存取。

顯示本機已完成簡單測試的螢幕擷取畫面。

清除資源

如果您想要繼續使用在本文中建立的資源,請保留該資源群組。

否則,若要避免與資源相關的費用,如果您完成使用資源,可以刪除您所建立的 Azure 資源群組。

警告

刪除資源群組是無法回復的動作。 當您刪除資源群組時,資源群組中的所有資源都將永久刪除。 請確定您不會不小心刪除錯誤的資源群組或資源。 如果您是在具有想要保留資源的現有資源群組內建立資源,則可以個別刪除每個資源,而不必刪除整個資源群組。

刪除資源群組

  1. 登入 Azure 入口網站,然後選取 [資源群組]

  2. 選取要刪除的資源群組。

    如果有許多資源群組,請在 [篩選任何欄位] 中,輸入您建立以完成本文的資源群組名稱。 在搜尋結果清單中,選取資源群組。

    顯示要從中選擇以刪除之資源群組清單的螢幕擷取畫面。

  3. 選取 [刪除資源群組]

  4. 在 [刪除資源群組] 窗格中,輸入要確認的資源群組名稱,然後選取 [刪除]

    顯示需要輸入資源名稱以確認刪除的方塊螢幕擷取畫面。

不久後,系統便會刪除該資源群組及其所有的資源。