Redis常用來當作快取伺服器,而開發當中,最常見的做法是架一台測試用Redis,或是在本機用Docker起一台Redis Server,但相當麻煩,而且微軟推出相容於Redis介面的Garnet,正是開發測試的好用瑞士刀。

使用Garnet,記得安裝套件”Microsoft.Garnet”。

它的啟動方式如下:

const int port = 6330;
//預設資料存在記憶體裡,測試方便
var server = new GarnetServer(["--port", port.ToString(), "--bind", "127.0.0.1"]);
server.Start();

由於它跟Redis是相容的,所以接下來安裝套件”StackExchange.Redis”。

然後直接用它的client來操作就可以了:

using var redis = await ConnectionMultiplexer.ConnectAsync($"127.0.0.1:{port}");
var db = redis.GetDatabase();

簡單的測試:

Console.WriteLine("=== String 操作 ===");

await db.StringSetAsync("name", "Garnet");
await db.StringSetAsync("version", "2.0");

var name = await db.StringGetAsync("name");
var version = await db.StringGetAsync("version");
Console.WriteLine($"name    = {name}");
Console.WriteLine($"version = {version}");

寫法都是一樣,只是底層抽換掉了。