本節使用 C# WinForms 基於 StackExchange.Redis 封裝 Redis 快取
開啟 Visual Studio,建立 WinForm 專案,接著透過 NuGet 安裝相依套件

安裝相依套件
- StackExchange.Redis
.NET 生態圈最主流的 Redis 開源用戶端元件,用來與 Redis 服務進行通訊。
Github 倉庫:https://github.com/StackExchange/StackExchange/StackExchange.Redis
Redis 本身提供 TCP 通訊協定,理論上可以手寫 Socket 直接溝通,但實務開發幾乎都使用成熟的第三方函式庫。 - Newtonsoft.Json(Json.NET)
負責物件序列化,把任意物件轉為 JSON 字串,再轉位元組陣列寫入 Redis;讀取時執行反向反序列化。
必須透過 NuGet 安裝,程式碼裡的JsonConvert.SerializeObject即來自此函式庫。
Redis 封裝方法
// 寫入快取:儲存物件,設定過期分鐘數
private bool Set(string key, object data, int cacheTime)
{
if (data == null)
{
return false;
}
var entryBytes = Serialize(data);
var expiresIn = TimeSpan.FromMinutes(cacheTime);
return db.StringSet(key, entryBytes, expiresIn);
}
// 物件序列化:實體物件 → UTF8 位元組陣列
private byte[] Serialize(object data)
{
var json = JsonConvert.SerializeObject(data);
return Encoding.UTF8.GetBytes(json);
}Code language: PHP (php)
使用 WinForm 示範 Redis