快速入門:搭配 ASP.NET Web 應用程式使用 Azure Redis
在本快速入門中,您會使用 Visual Studio 2019 建立 ASP.NET Web 應用程式,並連線至 Azure Cache for Redis 以儲存資料和從快取擷取資料。 接著,您會將應用程式部署到 Azure App Service。
跳至 GitHub 上的程式碼
複製 GitHub 上的存放庫 https://github.com/Azure-Samples/azure-cache-redis-samples/tree/main/quickstart/aspnet。
必要條件
- Azure 訂用帳戶 - 建立免費帳戶
- Visual Studio 2019,包含 ASP.NET 與 Web 開發和 Azure 開發工作負載。
- StackExchange.Redis 用戶端需要 .NET Framework 4 或更高版本 。
建立 Azure 受控 Redis (預覽) 實例
若要建立 Azure 受控 Redis (預覽) 實例,請登入 Azure 入口網站,然後選取 [建立資源]。
在 [ 新增 ] 頁面上的搜尋方塊中,輸入 Azure Cache for Redis。
在 [新的 Redis 快取] 頁面上,設定新快取的設定。
設定 選擇值 描述 訂用帳戶 下拉並選取您的訂用帳戶。 要在其中建立這個新 Azure 受控 Redis 實例的訂用帳戶。 資源群組 下拉並選取資源群組,或選取 [新建] 並輸入新的資源群組名稱。 用來建立快取和其他資源的資源群組名稱。 將所有的應用程式資源放在一個資源群組中,您將可輕鬆地一併管理或刪除這些資源。 DNS 名稱 輸入區域中唯一的名稱。 當快取名稱與快取的區域名稱合併 (只包含數字、字母或連字號) 時,必須為介於 1 到 63 個字元之間的字串。 (如果快取名稱長度少於 45 個字元,則應該適用於所有目前可用的區域。名稱必須以數位或字母開頭和結尾,且不能包含連續連字元。 快取執行個體的主機名稱為 \<DNS name\>.\<Azure region\>.redis.azure.net
。地點 下拉並選取位置。 Azure 受控 Redis 可在選取的 Azure 區域中取得。 快取類型 下拉式清單並選取效能層級和快取大小。 層會決定 Redis 實例的效能,而快取大小會決定可用來儲存數據的記憶體。 如需選擇正確效能層級的指引,請參閱 選擇正確的層 選取 [下一步:網络] ,然後選取公用或私人端點。
選取 [下一步:進階]。
設定您要新增至 實例的任何 Redis 模組 。
根據預設,針對新的受控快取:
- Microsoft已啟用 Entra 識別碼。
- 基於安全性考慮,存取金鑰驗證 已停用。
重要
為了獲得最佳安全性,建議您盡可能使用 Microsoft Entra ID 搭配受控識別來授權對快取的要求。 使用 Microsoft Entra ID 和受控識別進行授權,提供比共用存取金鑰授權更優異的安全性和易用性。 如需搭配快取使用受控識別的詳細資訊,請參閱使用 Microsoft Entra ID 進行快取驗證 (部分機器翻譯)。
將 [叢集原則] 設定為 [企業],以用於非叢集快取,或設定為叢集快取的 OSS。 如需選擇 叢集原則的詳細資訊,請參閱 叢集原則。
如果您使用 主動式異地複寫,則必須在建立期間加以設定。 如需詳細資訊,請參閱 設定 Azure 受控 Redis 實例的作用中異地複寫。
重要
建立 Azure 受控 Redis 實例之後,您無法變更叢集原則。 如果您使用 RediSearch,則需要企業叢集原則,而且
NoEviction
是唯一支援的收回原則。重要
如果您在異地復寫群組中使用這個快取實例,在建立實例之後就無法變更收回原則。 建立快取之前,請務必了解主要節點的收回原則。 如需主動式異地復寫的詳細資訊,請參閱 作用中異地復寫必要條件。
重要
建立快取實例之後,您無法變更模組。 您必須在建立 Azure Cache for Redis 執行個體時啟用模組。 建立快取之後,沒有選項可啟用模組的設定。
選取 [下一步:標記] 並略過。
完成時,選取 [下一步:檢閱 + 建立]。
檢閱設定並選取 [建立]。
Redis 實例需要幾分鐘的時間才能建立。 您可以在 Azure 受控 Redis 概觀 頁面上監視進度。 當 [狀態] 顯示為 [執行中] 時,表示快取已可供使用。
建立 Azure Cache for Redis 執行個體
若要建立快取,請登入 Azure 入口網站。 在入口網站功能表中,選取 [建立資源]。
在 [開始使用] 窗格中,於搜尋列中輸入「Azure Cache for Redis」。 在搜尋結果中,尋找「Azure Cache for Redis」,然後選取 [建立]。
在 [新增 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 概觀。 選取 [網路] 索引標籤,或選取 [下一步: 網路]。
在 [網路] 索引標籤上,選取要用於快取的連線方法。
選取 [進階] 索引標籤,或選取 [下一步: 進階]。
在 [進階] 窗格中,根據下列資訊驗證或選取驗證方法:
- 根據預設,對於新的基本、標準或進階快取,會啟用 Microsoft Entra 驗證並停用存取金鑰驗證。
- 對於基本或標準快取,您可以選擇非 TLS 連接埠的選取項目。
- 對於標準和進階快取,您可以選擇啟用可用性區域。 您無法在建立快取後停用可用性區域。
- 針對進階快取,設定適用於非 TLS 連接埠、叢集、受控識別和資料持續性的設定。
重要
為了獲得最佳安全性,建議您盡可能使用 Microsoft Entra ID 搭配受控識別來授權對快取的要求。 使用 Microsoft Entra ID 和受控識別進行授權,提供比共用存取金鑰授權更優異的安全性和易用性。 如需搭配快取使用受控識別的詳細資訊,請參閱使用 Microsoft Entra ID 進行快取驗證 (部分機器翻譯)。
(選用) 選取 [標籤] 索引標籤,或選取 [下一步: 標籤]。
(選用) 如果您想要分類快取資源,請在 [標籤] 索引標籤上輸入標籤名稱和值。
選取 [檢閱 + 建立] 按鈕。
在 [檢閱 + 建立] 索引標籤上,Azure 會自動驗證您的設定。
出現綠色的 [通過驗證] 訊息之後,請選取 [建立]。
新的快取部署會在幾分鐘內進行。 您可以在 Azure Cache for Redis 概觀窗格上監視部署進度。 當 [狀態] 顯示 [執行中] 時,表示快取已可供使用。
Microsoft Entra 驗證 (建議)
在快取上使用Microsoft Entra ID 驗證
除了 Enterprise 和 Enterprise Flash 層之外,Azure Redis 快取預設會啟用 entra Authentication Microsoft。 預設會停用存取金鑰。
重要
Microsoft建議使用 Microsoft Entra ID 驗證,以取得最安全的驗證體驗,而不是使用密碼或存取密鑰。 本文這一節中所述的驗證會使用存取密鑰,這需要在應用程式中高度信任,而且在使用 Microsoft Entra ID 時不會帶來風險。 只有當Microsoft Entra ID 驗證無法運作時,才使用本檔中的方法。
在 Azure 入口網站 中,選取您想要在其中使用 Microsoft Entra 令牌型驗證的快取。
從 [資源] 功能表中選取 [驗證]。
選取 [ 選取成員 ],然後輸入有效用戶的名稱。 當您選取 [儲存] 時,您輸入的使用者預設會自動獲指派「資料擁有者存取原則」。 您也可以輸入受控識別或服務主體,以連線到快取執行個體。
如需搭配 Azure CLI 使用 Microsoft Entra ID 的詳細資訊,請參閱 身分識別的參考頁面。
安裝連結庫以使用 Microsoft Entra ID Authentication
Azure.StackExchange.Redis 連結庫包含使用 Microsoft Entra ID 驗證方法來連線到 azure Redis 服務的Microsoft,Microsoft Entra ID。 它適用於所有 Azure Cache for Redis、Azure Cache for Redis Enterprise 和 Azure 受控 Redis (預覽版)。
在 Visual Studio 中開啟您的專案
以滑鼠右鍵按兩下項目,選擇[ 管理 NuGet 套件...
搜尋
Microsoft.Azure.StackExchangeRedis
。按兩下 [ 安裝] 按鈕以安裝
接受所有提示的內容以完成安裝
使用 Microsoft Entra 識別符連線到快取
在您的程式代碼中包含連結庫
using Azure.Identity; using StackExchange.Redis
使用預設 Azure 認證來驗證客戶端連線。 這可讓您的程式代碼在本機執行時使用已登入的用戶認證,並在 Azure 中執行時使用 Azure 受控識別,而不需要變更程式碼。
var configurationOptions = await ConfigurationOptions.Parse($"{_redisHostName}").ConfigureForAzureWithTokenCredentialAsync(new DefaultAzureCredential());
ConnectionMultiplexer _newConnection = await ConnectionMultiplexer.ConnectAsync(configurationOptions);
IDatabase Database = _newConnection.GetDatabase();
編輯 web.config 檔案
新增下列內容以 編輯 Web.config 檔案:
<appSettings> <add key="RedisHostName" value="<cache-hostname-with-portnumber>"/> </appSettings>
將 取代
<cache-hostname>
為您的快取主機名,因為它出現在 Azure 入口網站 的 [資源] 功能表上的 [概觀]。例如,使用 Azure 受控 Redis 或企業層: my-redis.eastus.azure.net:10000
儲存檔案。
如需詳細資訊,請參閱 StackExchange.Redis 和 GitHub 存放庫中的程式碼。
編輯 web.config 檔案
新增下列內容以 編輯 Web.config 檔案:
<appSettings> <add key="RedisHostName" value="<cache-hostname-with-portnumber>"/> </appSettings>
將 取代
<cache-hostname>
為您的快取主機名,因為它出現在 Azure 入口網站 的 [資源] 功能表上的 [概觀]。例如,使用 Azure Cache for Redis,my-redis.eastus.azure.net:6380
儲存檔案。
如需詳細資訊,請參閱 StackExchange.Redis 和 GitHub 存放庫中的程式碼。
在本機執行應用程式
根據預設,專案已設定為在 IIS Express 本機中裝載應用程式以進行測試和偵錯。
在本機執行應用程式
在 Visual Studio 中,選取 [偵錯]>[開始偵錯] 以在本機建置和啟動要測試和偵錯的應用程式。
在瀏覽器中,選取導覽列上的 [Azure Cache for Redis 測試]。
在下列範例中,
Message
金鑰先前具有快取值,此值是在入口網站中使用 Azure Cache for Redis 主控台設定的。 應用程式更新了該快取值。 應用程式也已執行PING
和CLIENT LIST
命令。
在 Azure 中發佈並執行
在本機成功測試應用程式後,您可以將應用程式部署至 Azure 並在雲端執行。
將應用程式發佈至 Azure
在 Visual Studio 的 [方案總管] 中,以滑鼠右鍵按一下專案節點。 然後選取 [發佈]。
選取 [Microsoft Azure App Service]、選取 [新建],然後選取 [發佈]。
在 [建立 App Service] 對話方塊中,進行下列變更:
設定 建議值 描述 應用程式名稱 使用預設值。 應用程式名稱是部署至 Azure 時應用程式的主機名。 如有必要,該名稱中會新增時間戳記尾碼,以成為唯一名稱。 訂用帳戶 選擇 Azure 訂用帳戶。 系統會就任何相關的裝載費用,對此訂用帳戶收費。 如果您有多個 Azure 訂用帳戶,請確認您已選取所需的訂用帳戶。 資源群組 使用您用來建立快取的相同資源群組 (例如 TestResourceGroup)。 資源群組可協助您以群組管理所有資源。 其後當您想要刪除應用程式時,請直接刪除該群組即可。 App Service 計劃 選取 [新增],然後建立名為 TestingPlan 的新 App Service 方案。
使用您在建立快取時所使用的相同位置。
選擇免費大小。App Service 方案會針對要搭配執行的 Web 應用程式定義一組計算資源。 在您設定 App Service 裝載設定後,請選取 [建立]。
在 Visual Studio 中監視 [輸出] 視窗,以查看發佈狀態。 發佈應用程式之後,會記錄應用程式的URL:
新增快取的應用程式設定
發佈新的應用程式之後,請新增應用程式設定。 這項設定會用來儲存快取連線資訊。
新增應用程式設定
若要尋找您建立的新應用程式,請在 Azure 入口網站 頂端的搜尋列中輸入應用程式名稱。
新增名為 CacheConnection 的應用程式設定,以供應用程式用來連線至快取。 使用您在 web.config 檔案中設定
RedisHostName
的相同值。
在 Azure 中執行應用程式
在您的瀏覽器中,移至應用程式的 URL。 該 URL 會顯示在 Visual Studio [輸出] 視窗中的發佈作業結果內。 您建立的應用程式概觀頁面上,也會在 Azure 入口網站 中提供URL。
選取導覽列上的 [Azure Cache for Redis 測試] 來測試快取存取,就像使用本機版本一樣。
清除資源
如果您想要繼續使用在本文中建立的資源,請保留該資源群組。
否則,若已完成資源使用,則可刪除您建立的 Azure 資源群組,以避免衍生費用。
重要
刪除資源群組是無法回復的動作。 當您刪除資源群組時,其中包含的所有資源都將永久刪除。 請確定您不會不小心刪除錯誤的資源群組或資源。 如果您是在包含需保留資源的現有資源群組內部建立資源,則可以個別刪除每個資源,而不必刪除整個資源群組。
刪除資源群組
登入 Azure 入口網站,然後選取 [資源群組]。
選取您想要刪除的資源群組。
如果有許多資源群組,請使用 [篩選任何欄位] 方塊,並輸入您針對本文所建立資源群組的名稱。 選取結果清單中的資源群組。
選取 [刪除資源群組]。
系統將會要求您確認是否刪除資源群組。 輸入您的資源群組名稱以進行確認,然後選取 [刪除]。
不久後,系統便會刪除該資源群組及其所有的資源。