Redis 替代方案研究

替代方案選項

注意:替代 Redis 功能,不包含 Redis Stack 部份。

一、Garnet

二、KeyDB

三、Dragonfly

四、Memurai

五、Apache Kvrocks™

六、Memcached

結論

  • 個人還是首推 KeyDBGarnet 也可以。

    • KeyDB 以 linux base 開發。可以部署到 linux OS 或 Docker。 號稱功能完全與 Redis 一樣。 由社群開發。免費。

    • Garnet 是 .NET8 開發。可以部署成 windows service 或 Docker。 號稱速度最快。支援大部份常用的 Redis 功能。 從規格來看 Garnet 比 KeyDB 好。 由 Microsoft Research 開發。現在免費。

  • 若堅持用 windows 方案那就選 Memurai ,需收費。


雲端 Cache 方案

各雲端供應商都有相應的 cache 方案。比如 Redis 在 AWS, Azure, Google Cloud, Heroko 都有相應產品,當然都是付費的。除了 Redis 也有別的雲端 cache 方案,如:Memcached。只要上雲端就不可能免費吃到飽。


本地端 Redis 替代方案

以下Redis 替代方案都只能替代 Redis 功能,不包含 Redis Stack 進階功能。 Redis 功能足以處理一般的 cache 需求。Redis Stack 功能是為特殊需求加速。

  1. KeyDB 理念就是 open source 且是 Redis 全功能(不包含 Redis Stack) 的替代方案。 安全性支援 TSL, ACL 等。免費。 可部署到 Docker。

  2. Garnet 最近最紅的 cache 方案。由 Micosroft Research 實作。號稱速度最快。 功能面除了相容大部份 Redis 功能,也有自己的進階能力。 安全性支援 TSL, ACL 等。 現在免費。未來可能收費? 可部署到 Docker。也可部署成 windows service。

  3. Memurai Windows 版的 Redis只有商用版與不收費的開發測試版,就是向甲方收錢乙方免費。 有支援 TSL, 不支援 ACL 的樣子。

  4. Dragonfly 號稱完全相容 Redis。有本地免費版與需端收費版。需端版有最佳化。本地版應用是用於開發測試的。 安全性支援 TSL, ACL 等。

  5. Memcached linux base 開發。純 linux 環境為較早期的 cache 方案。 架構較 Redis 簡單,速度更快功能較少。 沒有支援 RESP 也沒有支援 Docker 故不考慮。

  6. Apache Kvrocks™ 為 key-value DB 以 SSD 硬碟為基礎加速。可部署到 Docker。 不支援 in-memory 故不考慮。

註解

※ RESP: Redis serialization protocol specification, Redis 封包通訊協定。

比較表格

KeyDB
Garnet
Memurai
Dragonfly
Memcached
Apache Kvrocks

RESP 協定

YES

YES

YES

YES

NO

YES

In memory

YES

YES

YES

YES

YES

NO

License

CC BY-SA 4.0, MIT

MIT (GitHub)

只有商用版

BSL 1.1

BSD 3-Clause

Security

TLS & ACL

TLS & ACL

TLS

TLS & ACL

Docker

YES

YES

NO

YES

NO

Windows 部署

NO

NET8

windows service

NO

NO

Cluster

YES

YES

YES

沒有的樣子或是雲端產品所以沒寫入文件。

YES

也有雲端產品 (不精準)

NO

Azure?

應該沒有

AWS, Azure

開發平台

linux

NET 8

windows

linux

linux

更多擴充功能

NO

不確定

NO

NO

其他

為雲端產品

linux app

綜合推薦

推薦1

推薦2

windows 方案

保留

不考慮

不考慮

(EOF)

Last updated