支援的 ElastiCache for Redis 版本 - Amazon ElastiCache 的雷迪斯

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

支援的 ElastiCache for Redis 版本

ElastiCache Serverless 快取支援下列 Redis 版本:

ElastiCache for Redis 7.1 版 (增強版)

此版本包含效能改進,可讓工作負載提高輸送量並降低操作延遲。ElastiCache 7.1 推出了兩項主要增強功能

我們擴展了增強型 I/O 執行緒功能,現在也能夠處理呈現層邏輯。這裡的呈現層是指,增強型 I/O 執行緒現在不只會讀取用戶端輸入,還會將輸入剖析為 Redis 二進位命令格式。然後再將其轉發到主執行緒來執行,藉此實現效能增益。已改進 Redis 記憶體存取模式。來自許多資料結構操作的執行步驟為交錯式,以確保平行記憶體存取並降低記憶體存取延遲。在 Graviton3 型 R7g.4xlarge 或更大型的版本上執行 ElastiCache 時,客戶能夠達到每個節點每秒超過 1 百萬次請求。隨著 ElastiCache for Redis v7.1 的效能提升,相較於 ElastiCache for Redis v7.0,客戶能夠實現多達一倍的輸送量,並降低 50% 的 P99 延遲。這些增強功能會在至少具有 8 個實體核心 (Graviton 上為 2xlarge,x86 上為 4xlarge) 的節點大小上啟用,不論 CPU 類型為何,而且不需進行用戶端變更。

注意

ElastiCache v7.1 與 OSS Redis v7.0 相容。

ElastiCache for Redis 7.0 版 (增強版)

ElastiCache for Redis 7.0 增加了許多針對新功能的改善與支援:

  • Redis Functions:ElastiCache for Redis 7 增加了對 Redis Functions 的支援,並提供託管體驗,使開發人員能用儲存在 ElastiCache 叢集的應用程式邏輯執行 LUA 指令碼,而無需用戶端於每次連線時,重新傳送指令碼到伺服器。

  • ACL 改善:ElastiCache for Redis 7 增加了對 Redis 存取控制清單 (ACL) 下一個版本的支援。使用 ElastiCache for Redis 7,用戶端現在可以針對 Redis 中的特定金鑰或金鑰空間指定多組許可。

  • 碎片發佈/訂閱:ElastiCache for Redis 7 增加支援在啟用叢集模式 (CME) 下執行 ElastiCache 時,以碎片方式執行 Redis 發佈/訂閱功能。Redis 發佈/訂閱功能讓發佈者能夠向頻道中任意數量的訂閱者傳送訊息。使用 Amazon ElastiCache for Redis 7,頻道會繫結至 ElastiCache 叢集的碎片,因此無需在碎片間傳播頻道資訊,進而改善可擴展性。

  • 增強型 I/O 多工功能:ElastiCache for Redis version 7 推出增強型 I/O 多工,對於具有許多並行用戶端連線至 ElastiCache 叢集的高輸送量工作負載,可提供更高的輸送量並減少延遲。例如,使用 r6g.xlarge 節點叢集並執行 5200 個並行用戶端時,相較於 Redis 第 6 版的 ElastiCache,您可以將輸送量提高達 72% (每秒讀取和寫入作業),以及 P99 延遲減少達 71%。

如需 Redis 7.0 版本的詳細資訊,請參閱 GitHub 上 Redis 的 Redis 7.0 版本備註

ElastiCache for Redis 6.2 版 (增強版)

ElastiCache for Redis 6.2 包括針對啟用 TLS 的叢集的效能改善,使用具有 8 個或更多 vCPUs 的 x86 節點類型,或是具有 4 個或更多 vCPUs 的 Graviton2 節點類型。這些增強功能將加密卸載至其他 vCPU,藉此提升輸送量並縮短用戶端建立連線的時間。使用 Redis 6.2,還能使用存取控制清單 (ACL) 規則來管理發佈/訂閱頻道的存取權。

在此版本中,我們還推出對含有在本機上連接至 NVMe SSD 之叢集節點的資料分層的支援。如需更多詳細資訊,請參閱 資料分層

Redis 引擎 6.2.6 版還支援原生 JavaScript 物件標記法 (JSON) 格式,這是一種簡單、無結構描述的方式,對 Redis 叢集內的複雜資料集進行編碼。有了 JSON 支援,您可以針對透過 JSON 運作的應用程式,運用效能和 Redis API。如需詳細資訊,請參閱 JSON 入門。同時包括 JSON 相關指標 JsonBasedCmdsJsonBasedCmdsLatency,這會整合至 CloudWatch 中,監控此資料類型的使用情況。如需更多詳細資訊,請參閱 Redis 的指標

您可以藉由使用 6.2 來指定引擎版本。ElastiCache for Redis 會自動調用可用的 Redis 6.2 首選修補程式版本。例如,建立/修改快取叢集時,您可以將 --engine-version 參數設為 6.2。進行建立/修改時,會使用當前可用的 Redis 6.2 首選修補程式版本啟動叢集。在 API 中指定引擎版本 6.x 將導致 Redis 6 的最新次要版本。

針對現有的 6.0 叢集,您可以選擇加入下一個自動次要版本升級,方法是將 AutoMinorVersionUpgradeyesCreateCacheClusterModifyCacheCluster API 中的 CreateReplicationGroup 參數設為 ModifyReplicationGroup。ElastiCache for Redis 會使用自助服務更新,將現有 6.0 叢集的次要版本升級為 6.2。如需詳細資訊,請參閱 Amazon ElastiCache 中的自助服務更新

呼叫 DescribeCacheEngineVersions API 時,會將 EngineVersion 參數值設為 6.2,且會在 CacheEngineVersionDescription 欄位中傳回附有修補程式版本的實際引擎版本。 

如需 Redis 6.2 版本的詳細資訊,請參閱 GitHub 上 Redis 的 Redis 6.2 版本備註

ElastiCache for Redis 6.0 版 (增強版)

Amazon ElastiCache for Redis 導入下一版的 Redis 引擎,其中包含透過角色型存取控制進行使用者身分驗證、用戶端快取,以及重大操作改善。

從 Redis 6.0 開始,ElastiCache for Redis 將為每個 Redis OSS 次要版本提供一個版本,而不是提供多個修補程式版本。ElastiCache for Redis 將會自動管理執行中快取叢集的修補程式版本,以確保提升效能並增強安全性。

您也可以選擇加入下一個自動次要版本升級,方法是將 AutoMinorVersionUpgrade 參數設為 yes,ElastiCache for Redis 即會透過自助服務更新來管理次要版本升級。如需更多詳細資訊,請參閱 服務更新 ElastiCache

您可以使用 6.0 來指定引擎版本。ElastiCache for Redis 會自動調用可用的 Redis 6.0 首選修補程式版本。例如,建立/修改快取叢集時,您可以將 --engine-version 參數設為 6.0。進行建立/修改時,會使用當前可用的 Redis 6.0 首選修補程式版本啟動叢集。任何具有特定修補程式版本值的請求都將遭到拒絕、擲回例外狀況,且處理會失敗。

呼叫 DescribeCacheEngineVersions API 時,會將 EngineVersion 參數值設為 6.0,且會在 CacheEngineVersionDescription 欄位中傳回附有修補程式版本的實際引擎版本。 

如需 Redis 6.0 版本的詳細資訊,請參閱 GitHub 上 Redis 的 Redis 6.0 版本備註

ElastiCache for Redis 5.0.6 版 (增強版)

Amazon ElastiCache for Redis 導入下一版的 Redis 引擎,其中包含錯誤修正以及下列累積更新:

  • 特定條件下的引擎穩定性保證。

  • 改善的 Hyperloglog 錯誤處理。

  • 改進交握命令,進行可靠複寫。

  • XCLAIM 命令持續追蹤訊息遞送。

  • 改善物件中的 LFU 欄位管理。

  • 改進使用 ZPOP 時的交易管理。

  • 命令的重新命名功能:名為 rename-commands 的新參數​,可用來重新命名具潛在危險或昂貴的 Redis 命令,藉以避免意外遺失資料,例如 FLUSHALLFLUSHDB。這類似於開放原始碼 Redis 中的重新命名 - 命令組態。然而,ElastiCache 提供全受管工作流程,進一步提升功能體驗。命令名稱的變更會立即套用,並自動傳播至命令清單所在叢集中的所有節點。使用者無需介入重啟節點及其他任何操作。

    以下範例說明如何修改現有參數群組。此群組包含 rename-commands 參數,這是由空格分隔的命令清單,可供您重新命名。

    aws elasticache modify-cache-parameter-group --cache-parameter-group-name custom_param_group --parameter-name-values "ParameterName=rename-commands, ParameterValue='flushall restrictedflushall'" --region region

    這個範例使用重新命名 - 命令​參數來將 flushall​ 命令重新命名為 restrictedflushall

    若要重新命名多個命令,請使用下列參數:

    aws elasticache modify-cache-parameter-group --cache-parameter-group-name custom_param_group --parameter-name-values "ParameterName=rename-commands, ParameterValue='flushall restrictedflushall flushdb restrictedflushdb''" --region region

    若要恢復任何變更,請重新執行命令,並從所要保留的 ParameterValue 清單中排除重新命名的值,如下所示:

    aws elasticache modify-cache-parameter-group --cache-parameter-group-name custom_param_group --parameter-name-values "ParameterName=rename-commands, ParameterValue='flushall restrictedflushall'" --region region

    在這種情況下,flushall 命令將會重新命名為 restrictedflushall,任何其他重新命名的命令則恢復為其原始的命令名稱。

    注意

    命令的重新命名功能具有下列限制:

    • 所有重新命名的命令應採用英數字元。

    • 新的命令名稱最大長度是 20 個英數字元。

    • 為命令重新命名時,請確實更新叢集所關聯的參數群組。

    • 若要完全防止使用特定命令,請使用關鍵字 blocked,如下所示:

      aws elasticache modify-cache-parameter-group --cache-parameter-group-name custom_param_group --parameter-name-values "ParameterName=rename-commands, ParameterValue='flushall blocked'" --region region

    進一步了解參數變更和可以重新命名的命令清單,請參閱 Redis 5.0.3 版參數變更

  • Redis 串流:此模型是一種日誌資料結構,允許製作者即時附加新項目。同時也允許消費者以封鎖或非封鎖方式取用訊息。串流也允許消費者群組,其代表以合作方式取用相同訊息串流的一組用戶端,類似 Apache Kafka。如需詳細資訊,請參閱 Redis 串流 簡介

  • 支援一系列的串流命令,例如 XADDXRANGEXREAD。如需詳細資訊,請參閱 Redis 串流命令

  • 多個新的和重新命名的參數。如需更多詳細資訊,請參閱 Redis 5.0.0 版參數變更

  • 新的 Redis 指標 StreamBasedCmds

  • Redis 節點稍快的快照時間。

重要

Amazon ElastiCache for Redis 回溯移植了 Redis 開放原始碼 5.0.1 版的兩項重大錯誤修正。下列為其說明:

  • 特定金鑰已到期時 RESTORE 不相符的回覆。

  • XCLAIM 命令可能傳回錯誤的項目,或取消同步通訊協定。

這些錯誤修正均包含在針對 Redis 引擎 5.0.0 版的 ElastiCache for Redis 支援中,且將在未來的版本更新中取用。

如需詳細資訊,請參閱 GitHub 上 Redis 的 Redis 5.0.6 版本備註

ElastiCache for Redis 5.0.5 版 (已移除,使用 5.0.6)

Amazon ElastiCache for Redis 導入下一版的 Redis 引擎;。其中包括在所有規劃的作業執行期間,ElastiCache for Redis 自動容錯移轉叢集的線上組態變更。您現在可以擴展叢集、升級 Redis 引擎版本,以及套用修補程式和維護更新,在此同時,叢集仍能保持上線並繼續服務傳入的請求。它也包括錯誤修正。

如需詳細資訊,請參閱 GitHub 上 Redis 的 Redis 5.0.4 版本備註

ElastiCache for Redis 5.0.4 版 (已移除,使用 5.0.6)

Amazon ElastiCache for Redis 引入了 Amazon ElastiCache 支援的下一版 Redis 引擎。包含下列增強功能:

  • 特定條件下的引擎穩定性保證。

  • 改善的 Hyperloglog 錯誤處理。

  • 改進交握命令,進行可靠複寫。

  • XCLAIM 命令持續追蹤訊息遞送。

  • 改善物件中的 LFU 欄位管理。

  • 改進使用 ZPOP 時的交易管理。

如需詳細資訊,請參閱 GitHub 上 Redis 的 Redis 5.0.4 版本備註

ElastiCache for Redis 5.0.3 版 (已移除,使用 5.0.6)

Amazon ElastiCache for Redis 導入了 Amazon ElastiCache 支援的下一版 Redis 引擎,其中包含錯誤修正。

ElastiCache for Redis 5.0.0 版 (已移除,使用 5.0.6)

Amazon ElastiCache for Redis 引入了 Amazon ElastiCache 支援的下一個 Redis 引擎主要版本。ElastiCache for Redis 5.0.0 引入對以下改良功能的支援:

  • Redis 串流:此模型是一種日誌資料結構,允許製作者即時附加新項目。同時也允許消費者以封鎖或非封鎖方式取用訊息。串流也允許消費者群組,其代表以合作方式取用相同訊息串流的一組用戶端,類似 Apache Kafka。如需詳細資訊,請參閱 Redis 串流 簡介

  • 支援一系列的串流命令,例如 XADDXRANGEXREAD。如需詳細資訊,請參閱 Redis 串流命令

  • 多個新的和重新命名的參數。如需更多詳細資訊,請參閱 Redis 5.0.0 版參數變更

  • 新的 Redis 指標 StreamBasedCmds

  • Redis 節點稍快的快照時間。

ElastiCache for Redis 4.0.10 版 (增強版)

Amazon ElastiCache for Redis 引入了 Amazon ElastiCache 支援的下一個 Redis 引擎主要版本。ElastiCache for Redis 4.0.10 引入對以下改良功能的支援:

如果 Redis (停用叢集模式) 使用者執行的是 Redis 3.2.10 版,即可使用主控台並透過線上升級來升級叢集。

比較 ElastiCache for Redis 叢集規模調整和加密功能支援
版本
功能 3.2.6 3.2.10 4.0.10 和更新版本
線上叢集大小調整 *
傳輸中加密 **
靜態加密 **
* 新增、移除和重新平衡碎片。
** FedRAMP、HIPAA 和 PCI DSS 合規應用程式的必要項目。如需更多詳細資訊,請參閱 Amazon ElastiCache 的合規驗證

過去的生命週期結束 (EOL) 版本 (3.x)

ElastiCache for Redis 3.2.10 版 (增強版)

Amazon ElastiCache for Redis 引入了 Amazon ElastiCache 支援的下一個 Redis 引擎主要版本。ElastiCache for Redis 3.2.10 引入線上叢集規模調整功能,可從叢集新增和移除碎片,同時繼續處理傳入的輸入/輸出請求。ElastiCache for Redis 3.2.10 使用者可享有舊版 Redis 的所有功能,但不包含資料加密功能。此能力目前僅於 3.2.6 版提供。

比較 ElastiCache for Redis 3.2.6 和 3.2.10 版
版本
功能 3.2.6 3.2.10
線上叢集大小調整 *
傳輸中加密 **
靜態加密 **
* 新增、移除和重新平衡碎片。
** FedRAMP、HIPAA 和 PCI DSS 合規應用程式的必要項目。如需更多詳細資訊,請參閱 Amazon ElastiCache 的合規驗證

如需詳細資訊,請參閱下列內容:

ElastiCache for Redis 3.2.6 版 (增強版)

Amazon ElastiCache for Redis 引入了 Amazon ElastiCache 支援的下一個 Redis 引擎主要版本。ElastiCache for Redis 3.2.6 使用者可享有舊版 Redis 的所有功能,外加加密資料的選項。如需詳細資訊,請參閱下列內容:

ElastiCache for Redis 3.2.4 版 (增強版)

Amazon ElastiCache for Redis 3.2.4 版引入了 Amazon ElastiCache 支援的下一個 Redis 引擎主要版本。ElastiCache for Redis 3.2.4 使用者可享有舊版 Redis 提供的所有功能,外加以叢集模式非叢集模式執行的選項。下表提供摘要。

比較 Redis 3.2.4 非叢集模式和叢集模式
功能 非叢集模式 叢集模式
資料分割
地理空間索引
變更節點類型 是 *
複本擴展 是 *
擴展 是 *
資料庫支援 多個 單一

參數群組

default.redis3.2 **

default.redis3.2.cluster.on **

*  請參閱「從備份還原到新的快取

** 或其衍生內容。

備註:
  • 磁碟分割 - 將您的資料分割到 2 至 500 個節點群組 (碎片) 中,並對每個節點群組提供複寫支援。

  • 地理空間索引 - Redis 3.2.4 引入透過六種 GEO 命令對地理空間編列索引的支援。如需詳細資訊,請參閱 Redis Commands 頁面 (篩選 GEO) 上的 Redis GEO* 命令文件 Redis Commands: GEO

如需其他 Redis 3 功能的資訊,請參閱 Redis 3.2 版本備註Redis 3.0 版本備註

目前,ElastiCache 受管 Redis (啟用叢集模式) 不支援下列 Redis 3.2 功能:

  • 複本移轉

  • 叢集重新平衡

  • Lua 除錯器

ElastiCache 會停用下列 Redis 3.2 管理命令:

  • cluster meet

  • cluster replicate

  • cluster flushslots

  • cluster addslots

  • cluster delslots

  • cluster setslot

  • cluster saveconfig

  • cluster forget

  • cluster failover

  • cluster bumpepoch

  • cluster set-config-epoch

  • cluster reset

如需 Redis 3.2.4 參數的資訊,請參閱 Redis 3.2.4 版參數變更

過去的生命週期結束 (EOL) 版本 (2.x)

ElastiCache for Redis 2.8.24 版 (增強版)

從 Redis 2.8.23 版起新增的改良功能,包括錯誤修正以及對惡意記憶體存取地址的記錄。如需詳細資訊,請參閱 Redis 2.8 版本備註

ElastiCache for Redis 2.8.23 版 (增強版)

從 Redis 2.8.22 版起新增的改良功能,包括錯誤修正。如需詳細資訊,請參閱 Redis 2.8 版本備註。此版本也包括對新參數 close-on-slave-write 的支援,若啟用此參數,則會在用戶端嘗試寫入唯讀複本時中斷其連線。

如需 Redis 2.8.23 參數的詳細資訊,請參閱《ElastiCache 使用者指南》中的「Redis 2.8.23 (增強版) 新增的參數」。

ElastiCache for Redis 2.8.22 版 (增強版)

從 Redis 2.8.21 版起新增的改良功能,包括下列項目:

  • 支援無延伸備份和同步,其可讓您為備份額外負荷配置較少的記憶體,而為應用程式配置較多的記憶體。如需更多詳細資訊,請參閱 同步與備份的實作方式。此無延伸程序可能會影響延遲和輸送量。具有高寫入傳輸量時,當複本重新同步時,有可能在整段同步期間都無法連線。

  • 如果發生容錯移轉,由於複本會盡可能與主要節點執行部分同步,而不需進行完整同步,因此現在可以更快恢復複寫群組。此外,主要節點和複本不再需要於同步期間使用磁碟,因此可提供更快的速度。

  • 支援兩項新的 CloudWatch 指標。

    • ReplicationBytes - 複寫群組的主要叢集傳送給僅供讀取複本的位元組數。

    • SaveInProgress - 二進位值,其指出背景儲存程序是否正在執行。

    如需更多詳細資訊,請參閱 使用 CloudWatch 指標監控用量

  • 針對複寫 PSYNC 行為的多項關鍵錯誤修正。如需詳細資訊,請參閱 Redis 2.8 版本備註

  • 為了維持異地同步備份複寫群組中的增強複寫效能並提升叢集穩定性,現已不再支援非 ElastiCache 複本。

  • 為了提升複寫群組中主要叢集和複本之間的資料一致性,複本不會再獨立於主要叢集而移出鍵。

  • Redis 2.8.22 版或更新版本不支援 Redis 組態變數 appendonlyappendfsync

  • 在記憶體不足的情況下,含大型輸出緩衝區的用戶端與複本叢集的連線可能會中斷。如果中斷連線,用戶端就需要重新連線。這類情況最可能發生在 PUBSUB 用戶端上。

ElastiCache for Redis 2.8.21 版

從 Redis 2.8.19 版起新增的改良功能,包括多項錯誤修正。如需詳細資訊,請參閱 Redis 2.8 版本備註

ElastiCache for Redis 2.8.19 版

從 Redis 2.8.6 版起新增的改良功能,包括下列項目:

  • 支援 HyperLogLog。如需詳細資訊,請參閱 Redis new data structure: HyperLogLog

  • 有序集合資料類型現已支援使用新命令 ZRANGEBYLEXZLEXCOUNTZREMRANGEBYLEX 的詞典編纂範圍查詢。

  • 為了防止主要節點傳送過時資料給複本節點,如果背景儲存 (bgsave) 子處理序終止,則主控 SYNC 會失敗。

  • 支援 HyperLogLogBasedCommands CloudWatch 指標。如需更多詳細資訊,請參閱 Redis 的指標

ElastiCache for Redis 2.8.6 版

從 Redis 2.6.13 版起新增的改良功能,包括下列項目:

  • 提升僅供讀取複本的復原能力與容錯能力。

  • 支援部分重新同步。

  • 支援使用者定義且必須隨時可供使用的僅供讀取複本最低數量。

  • 完整支援 pub/sub - 可通知用戶端伺服器相關事件。

  • 系統會自動偵測主要節點故障,並將主要節點容錯移轉至次要節點。

ElastiCache for Redis 2.6.13 版

Redis 2.6.13 版是 Amazon ElastiCache for Redis 支援的初始 Redis 版本。Redis 2.6.13 不支援多個可用區。