介紹

Redis 基礎定義

Redis 是一款開源、使用ANSI C語言編寫、支援網路存取,同時兼具記憶體儲存與持久化能力的鍵值(Key‑Value)資料庫 / 儲存系統,提供多種程式語言的用戶端API。

  1. 屬於 NoSQL 非關聯式資料庫;
  2. 與 Memcached 屬同類產品,但功能更強,可彌補 Memcached 的不足;
  3. 常做為 MySQL 等關聯式資料庫的輔助快取方案。

支援的資料類型

  • String:字串類型
  • List:雙向鏈結串列
  • Set:無序集合
  • zset(sorted set):有序集合
  • Hash:雜湊結構(類似 Map)

Memcached 僅支援字串,這是兩者最主要的差異之一。

主要特性

  1. 多語言用戶端支援
    官方提供 Java、C/C++、C#、PHP、JavaScript、Python、Ruby、Perl 等眾多語言SDK,方便開發接入。
  2. 主從同步機制
    支援主從複製,可實現異地備份、讀寫分離,提升系統可用性。
  3. 高效能
    資料優先存放於記憶體,讀寫速度極快,廣泛做為分散式快取使用。
  4. 持久化能力
    可將記憶體資料寫入磁碟,重啟後資料不會全部遺失(Memcached 預設不支援持久化)。

專案背景

早期 Redis 專案由 VMware 資助開發與維護。

我們會透過WinForm(C#) 簡易Redis用戶端範例做操作演示,這是C#呼叫Redis的入門示範程式。

  • 設定鍵值
  • 透過鍵取得對應數值

Redis 與 Memcached 簡易對比

特性RedisMemcached
資料類型5種基礎結構僅字串String
持久化支援RDB/AOF持久化不支援持久化
主從複製支援無原生支援
記憶體淘汰多種淘汰策略LRU淘汰

介紹

Next:

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *