C# Redis 教學:從入門到實作

   Redis(REmote DIctionary Server)是一種開源的記憶體型鍵值資料庫,以高效能、高吞吐量聞名。它支援多種資料結構,如:

  1. 字串(String)
  2. 雜湊(Hash)
  3. 列表(List)
  4. 集合(Set)
  5. 有序集合(Sorted Set)


  Redis 可用於快取(caching)、Session儲存、排行榜、訊息佇列等場景,是現代分散式系統不可或缺的元件之一。


Redis 的優勢:

  • 🚀 高速存取:所有資料都儲存在記憶體中,讀寫速度極快。
  • 🌐 支援分散式:可設定為主從複寫或使用 Redis Cluster。
  • 🧠 資料結構豐富:不只支援鍵值,還有列表、集合等先進結構。
  • 🧰 適用場景廣泛:快取、Session 儲存、排行榜、即時通知等。
  • 📊 持久化支援:支援 RDB 快照與 AOF 日誌持久化。
Redis 的風險與限制:

  • ⚠ 記憶體限制:資料存在記憶體中,資料量受限於 RAM 大小。
  • 🔐 安全性問題:預設無驗證,若對外暴露容易被攻擊,需做好 ACL 或 TLS 設定。
  • 💥 單執行緒模型限制:雖然單執行緒效率高,但在高併發時仍需注意延遲與瓶頸。
  • 💾 資料遺失風險:若未啟用持久化,服務當機會導致資料遺失。
範例程式碼:
using System;
using StackExchange.Redis;

class Program
{
    static void Main(string[] args)
    {
        // 建立 Redis 連線
        var redis = ConnectionMultiplexer.Connect("localhost:6379");
        IDatabase db = redis.GetDatabase();

        // 寫入資料
        string key = "tutorial:redis";
        string value = "Hello, Redis!";
        db.StringSet(key, value);

        // 讀取資料
        string retrieved = db.StringGet(key);
        Console.WriteLine($"取得的值: {retrieved}");

        // 關閉連線
        redis.Close();
    }
}

使用以上範例請確認以下步驟:

請前往這個專案的 Release 頁面:

🔗 https://github.com/tporadowski/redis/releases

選擇最新版本,下載以下檔案:

  • Redis-x64-xxx.msi(x64 的 Windows 安裝檔)


留言

熱門文章