

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 比較節點型 Valkey、Memcached 和 Redis OSS 叢集
<a name="SelectEngine"></a>

Amazon ElastiCache 支援 Valkey、Memcached 和 Redis OSS 快取引擎。每個引擎都提供一些優點。使用本主題中的資訊來協助您選擇最符合您需求的引擎和版本。

**重要**  
建立快取、節點型叢集或複寫群組之後，您可以升級至較新的引擎版本，但無法降級至較舊的引擎版本。如果您想要使用較舊的引擎版本，則必須刪除現有的快取、節點型叢集或複寫群組，並使用較舊的引擎版本再次建立。

這兩個引擎表面上看起來很類似。每個引擎都是記憶體內金鑰/值存放區。不過，實際上有顯著的差異。

**如果適用下列情況，請選擇 Memcached：**
+ 您需要盡可能最簡單的模型。
+ 您需要執行具有多個核心或執行緒的大型節點。
+ 您需要能夠向外和向內擴展，並視您系統需求增加和減少來新增和移除節點。
+ 您需要快取物件。

**如果下列適用於您，請選擇具有 ElastiCache 的 Valkey 或 Redis OSS：**
+ **適用於 Valkey 的 ElastiCache 7.2 版或適用於 Redis OSS 的 7.0 版 （增強版）**

  您想要使用 [函數](https://valkey.io/topics/functions-intro/)、[碎片 Pub/Sub ](https://valkey.io/topics/pubsub/)或 [ACL 改進](https://valkey.io/topics/acl/)。如需詳細資訊，請參閱 [Redis OSS 7.0 版 （增強版）。](engine-versions.md#redis-version-7.0)
+ **適用於 Redis OSS 的 ElastiCache 6.2 版 （增強版）**

  您希望能夠使用 r6gd 節點類型在記憶體和 SSD 之間將資料分層。如需詳細資訊，請參閱[資料分層](data-tiering.md)。
+ **適用於 Redis OSS 的 ElastiCache 6.0 版 （增強版）**

  您想要使用角色型存取控制驗證使用者。

  如需詳細資訊，請參閱 [Redis OSS 6.0 版 （增強版）。](engine-versions.md#redis-version-6.0)
+ **適用於 Redis OSS 的 ElastiCache 5.0.0 版 （增強版）**

  您想要使用 [ Redis OSS 串流](https://redis.io/topics/streams-intro)，這是一種日誌資料結構，可讓生產者即時附加新項目，也允許取用者以封鎖或非封鎖方式取用訊息。

  如需詳細資訊，請參閱 [Redis OSS 5.0.0 版 （增強版）](engine-versions.md#redis-version-5-0)。
+ **適用於 Redis OSS 的 ElastiCache 4.0.10 版 （增強版）**

  支援加密，以及動態新增或移除 Valkey 或 Redis OSS （啟用叢集模式） 叢集中的碎片。

  如需詳細資訊，請參閱 [Redis OSS 4.0.10 版 （增強版）](engine-versions.md#redis-version-4-0-10)。

以下版本已棄用、已達到或即將達到生命週期結束。
+ **適用於 Redis OSS 的 ElastiCache 3.2.10 版 （增強版）**

  支援從 Valkey 或 Redis OSS （啟用叢集模式） 叢集動態新增或移除碎片的功能。
**重要**  
目前 ElastiCache 3.2.10 for Redis OSS 不支援加密。

  如需詳細資訊，請參閱下列內容：
  + [Redis OSS 3.2.10 版 （增強版）](engine-versions.md#redis-version-3-2-10)
  + Redis OSS 的線上重新分片最佳實務。如需詳細資訊，請參閱以下內容：
    + [最佳實務：線上重新分片](best-practices-online-resharding.md)
    + [Valkey 或 Redis OSS 的線上重新分片和碎片重新平衡 （啟用叢集模式）](scaling-redis-cluster-mode-enabled.md#redis-cluster-resharding-online)
  + 如需擴展 Redis OSS 叢集的詳細資訊，請參閱[擴展](Scaling.md)。

    
+ **適用於 Redis OSS 的 ElastiCache 3.2.6 版 （增強版）**

  如果您需要舊版 Redis OSS 的功能以及下列功能，請選擇 3.2.6：
  + 傳輸中加密。如需詳細資訊，請參閱 [Amazon ElastiCache for Redis OSS 傳輸中加密](in-transit-encryption.md)。
  + 靜態加密。如需詳細資訊，請參閱 [Amazon ElastiCache for Redis OSS 靜態加密](at-rest-encryption.md)。
+ **適用於 Redis OSS 的 ElastiCache （啟用叢集模式） 3.2.4 版**

  如果您需要 2.8.x 的功能加上下列功能，請選擇 3.2.4 （叢集模式）：
  + 您需要將資料分割到 2 至 500 個節點群組中 (僅限叢集模式)。
  + 您需要地理空間索引 (叢集模式或非叢集模式)。
  + 您不需要支援多個資料庫。
+ **適用於 Redis OSS 的 ElastiCache （非叢集模式） 2.8.x 和 3.2.4 （增強版）**

  如果下列適用於您，則為 2.8.x 或 3.2.4 （非叢集模式）：
  + 您需要複雜資料類型，例如字串、雜湊、清單、集合、有序集合及點陣圖。
  + 您需要排序或排名記憶體內資料集。
  + 您的金鑰存放區必須具備持久性。
  + 您需要針對讀取密集型應用程式，將資料從主要複本複寫到一或多個僅供讀取複本。
  + 您需要在主要節點失敗時自動容錯移轉。
  + 您需要發佈和訂閱 (pub/sub) 功能，用於通知用戶端伺服器上的事件。
  + 您需要節點型叢集以及無伺服器快取的備份和還原功能。
  + 您需要支援多個資料庫。


**Memcached、Valkey 或 Redis OSS （停用叢集模式） 和 Valkey 或 Redis OSS （啟用叢集模式） 的比較摘要**  

|  |  Memcached  |  Valkey 或 Redis OSS （停用叢集模式）  |  Valkey 或 Redis OSS （啟用叢集模式）  | 
| --- |--- |--- |--- |
| Engine versions\$1 | 1.4.5 and later | 4.0.10 and later | 4.0.10 and later | 
| Data types | Simple  | 2.8.x - Complex \$1 | 3.2.x and later - Complex  | 
| Complex  | 
| Data partitioning | Yes | No | Yes | 
| Cluster is modifiable | Yes | Yes | 3.2.10 and later - Limited | 
| Online resharding | No | No | 3.2.10 and later | 
| Encryption | in-transit 1.6.12 and later | 4.0.10 and later | 4.0.10 and later | 
| Data tiering | No | 6.2 and later | 6.2 and later | 
| 合規認證 | 
| --- |
| Compliance Certification     FedRAMP     HIPAA     PCI DSS |   是 - 1.6.12 和更新版本 是 - 1.6.12 和更新版本 是 |   4.0.10 和更新版本 4.0.10 和更新版本 4.0.10 和更新版本 |   4.0.10 和更新版本 4.0.10 和更新版本 4.0.10 和更新版本 | 
| Multi-threaded | Yes | No | No | 
| Node type upgrade | No | Yes | Yes | 
| Engine upgrading | Yes | Yes | Yes | 
| High availability (replication) | No | Yes | Yes | 
| Automatic failover | No | Optional | Required | 
| Pub/Sub capabilities | No | Yes | Yes | 
| Sorted sets | No | Yes | Yes | 
| Backup and restore | For serverless caches only, not applicable to node-based clusters | Yes | Yes | 
| Geospatial indexing | No | 4.0.10 and later | Yes | 
| 備註： | 
|  string, objects (like databases) | 
| \$1 string, sets, sorted sets, lists, hashes, bitmaps, hyperloglog | 
|  string, sets, sorted sets, lists, hashes, bitmaps, hyperloglog, geospatial indexes | 
| \$1 Excludes versions which are deprecated, have reached or soon to reach end of life. | 

選擇適用於您叢集的引擎之後，我們建議您使用該引擎的最新版本。如需詳細資訊，請參閱[支援的節點類型](CacheNodes.SupportedTypes.md)。