用Garnet取代Redis

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}");
寫法都是一樣,只是底層抽換掉了。