相對於使用本機快取與資料庫快取,個人偏愛使用額外的 Redis 服務作為分散式快取機制。一來不會與本機網站與服務共用資源,在要求效能的情況下相互影響,二來未來若有需要,直接作為為分散式架構使用。另外,若不想要自己維護 Redis Server,您可以考慮使用 Azure Cache for Redis,快速建立又容易維護。 本篇文章將簡單說明如何在 ASP.NET Core / ASP.NET Core 5 上使用 Redis Cache,若有錯誤或任何建議,請各位先進不吝提出。







Step 1. 首先我們需要安裝 Microsoft.Extensions.Caching.StackExchangeRedis 套件。 開啟 工具 > NuGet 套件管理員 > 管理方案的 NuGet 套件





Step 2. 搜尋 StackExchangeRedis > 選擇 Microsoft.Extensions.Caching.StackExchangeRedis 套件 > 勾選專案並安裝









Step 3. 開啟 Startup.cs,在 ConfigureServices 方法內加上下列語法。其中 options.Configuration 為你的 Redis 連線字串。







Step 4. 接下來,你可以在 Controller 或 Services 內做建構子注入,即可開始使用 Redis Cache。如下 public async Task<string> Get() 方法內,即是一個簡單的 Cache 使用範例。
1. 先從 Cache 取得資料
2. 若 Cache 有資料,則直接回傳資料
2. 若 Cache 沒有資料,則設定 Cache (一般情況,從資料庫取得資料再設定 Cache)
3. 完成設定快取後,回傳資料