[料理佳餚] C# StackExchange.Redis 存取 Redis Cache 服務

Redis 架設完成後,就可以開始使用它了,關於架設可以參考我這篇文章[料理佳餚] 安裝 Redis 在 Windows 上,而我選用的 Api 是 StackExchange.Redis,原因只在於它的名氣 - Stack Exchange 耶!當然要用啊!

從 NuGet 上安裝 StackExchange.Redis

在 NuGet 套件上直接搜尋 StackExchange.Redis,安裝即可。

建立 Redis 連線

基本上只要宣告成這樣,就搞定了連線,連線的 Instance 一旦建立請重覆使用。

private ConnectionMultiplexer CreateRedisConnection(string host, int port)
{
    return ConnectionMultiplexer.Connect($"{host}:{port}");
}

快取資料並指定過期時間

private void SetLimitedCache(ConnectionMultiplexer redisConn, string key, string value)
{
    // 取得 Redis Database
    var redisDatabase = redisConn.GetDatabase();

    // 快取 10 秒後過期字串資料
    redisDatabase.StringSet(key, value, TimeSpan.FromSeconds(10));
}

取得快取資料

private string GetCache(ConnectionMultiplexer redisConn, string key)
{
    // 取得 Redis Database
    var redisDatabase = redisConn.GetDatabase();

    // 取得快取資料
    var value = redisDatabase.StringGet(key);

    return value;
}

參考資料

< Source Code >

相關資源

C# 指南
ASP.NET 教學
ASP.NET MVC 指引
Azure SQL Database 教學
SQL Server 教學
Xamarin.Forms 教學