C# Redis 教學:從入門到實作
Redis(REmote DIctionary Server)是一種開源的記憶體型鍵值資料庫,以高效能、高吞吐量聞名。它支援多種資料結構,如:
- 字串(String)
- 雜湊(Hash)
- 列表(List)
- 集合(Set)
- 有序集合(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 安裝檔)
留言
張貼留言