Redis 基礎定義
Redis 是一款開源、使用ANSI C語言編寫、支援網路存取,同時兼具記憶體儲存與持久化能力的鍵值(Key‑Value)資料庫 / 儲存系統,提供多種程式語言的用戶端API。
- 屬於 NoSQL 非關聯式資料庫;
- 與 Memcached 屬同類產品,但功能更強,可彌補 Memcached 的不足;
- 常做為 MySQL 等關聯式資料庫的輔助快取方案。
支援的資料類型
String:字串類型List:雙向鏈結串列Set:無序集合zset(sorted set):有序集合Hash:雜湊結構(類似 Map)
Memcached 僅支援字串,這是兩者最主要的差異之一。
主要特性
- 多語言用戶端支援
官方提供 Java、C/C++、C#、PHP、JavaScript、Python、Ruby、Perl 等眾多語言SDK,方便開發接入。 - 主從同步機制
支援主從複製,可實現異地備份、讀寫分離,提升系統可用性。 - 高效能
資料優先存放於記憶體,讀寫速度極快,廣泛做為分散式快取使用。 - 持久化能力
可將記憶體資料寫入磁碟,重啟後資料不會全部遺失(Memcached 預設不支援持久化)。
專案背景
早期 Redis 專案由 VMware 資助開發與維護。
我們會透過WinForm(C#) 簡易Redis用戶端範例做操作演示,這是C#呼叫Redis的入門示範程式。
- 設定鍵值
- 透過鍵取得對應數值
Redis 與 Memcached 簡易對比
| 特性 | Redis | Memcached |
|---|---|---|
| 資料類型 | 5種基礎結構 | 僅字串String |
| 持久化 | 支援RDB/AOF持久化 | 不支援持久化 |
| 主從複製 | 支援 | 無原生支援 |
| 記憶體淘汰 | 多種淘汰策略 | LRU淘汰 |
介紹
Next: 安裝