與 Redis 的主要引擎版本行為和相容性差異 OSS - Amazon ElastiCache

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

與 Redis 的主要引擎版本行為和相容性差異 OSS

重要

以下頁面的結構目的是指出版本控制之間所有不相容的差異,並告知您升級至較新版本控制時應注意的事項。此清單包含您在升級時可能遇到的版本控制不相容問題。

您可以直接從目前的 Redis OSS版本升級到最新的 Redis OSS版本,而不需要循序升級。例如,您可以將 Redis 3.0 OSS版直接升級至 7.0 版。

Redis OSS版本會以語意版本識別,該版本包含 MAJOR、 MINOR和 PATCH元件。例如,在 Redis OSS 4.0.10 中,主要版本為 4、次要版本為 0,而修補程式版本為 10。這些值一般會根據下列慣例遞增:

  • MAJOR 版本適用於API不相容的變更

  • MINOR 版本適用於以回溯相容方式新增的新功能

  • PATCH 版本適用於回溯相容的錯誤修正和非功能變更

我們建議始終在指定的 MAJOR.MINOR 版本中保持最新修補程式版本,以便獲得最新的效能和穩定性改進。從適用於 Redis 的 6.0 ElastiCache 版開始OSS, ElastiCache 將為每個 Redis OSS次要版本提供單一版本,而不是提供多個修補程式版本。 ElastiCache 將自動管理執行中快取叢集的修補程式版本,以確保效能改善和安全性增強。

同時建議您定期升級至最新主要版本,因為大部分主要改進功能並未向後移植至舊版。隨著 將可用性 ElastiCache 擴展到新 AWS 區域, ElastiCache 對於 Redis, OSS支援新區域的兩個最新的 MAJOR。MINOR 版本。例如,如果新 AWS 區域啟動且 Redis 的最新 MAJOR.MINOR ElastiCache versions OSS為 7.0 和 6.2, ElastiCache 將在新 AWS 區域中支援 Redis 7.0 和 6.2 OSS版。隨著 Redis ElastiCache 的較新 MAJOR。MINOR 版本OSS發佈, ElastiCache 將繼續為新發行的版本新增支援。若要進一步了解如何選擇區域 ElastiCache,請參閱選擇區域和可用區域

進行跨主要或次要版本的升級時,請考慮下列清單,其中包括OSS隨著時間的推移,透過 Redis 發佈的行為和向後不相容的變更。

Redis OSS 7.0 行為和向後不相容的變更

如需變更的完整清單,請參閱 Redis 7.0 OSS 版本備註。

  • SCRIPT LOADSCRIPT FLUSH 不再傳播到複本。如果您需要一些指令碼的耐用性,建議您考慮使用 Redis OSS函數

  • Pubsub 頻道現在預設為封鎖新ACL使用者。

  • LCS 命令已取代 STRALGO 命令。

  • 已變更 ACL GETUSER 的格式,所有欄位皆會顯示標準存取字串模式。若您使用 ACL GETUSER 進行自動化,則應確認其能處理任一格式。

  • SELECTWAITROLELASTSAVEREADONLYREADWRITE和 的ACL類別ASKING已變更。

  • 現在,每個子命令的命令統計資料由 INFO 命令顯示,而非顯示於頂層容器命令。

  • 在部分邊緣情況下,LPOPRPOPZPOPMINZPOPMAX 命令的傳回值已變更。若您使用這些命令,則應確認版本備註,並評估您是否受到影響。

  • SORTSORT_RO 命令現在需存取整個金鑰空間,以使用 GETBY 引數。

Redis OSS 6.2 行為和向後不相容的變更

如需變更的完整清單,請參閱 Redis OSS 6.2 版本備註。

  • TIME、、 ECHOROLELASTSAVE命令的ACL旗標已變更。這可能會導致先前允許的命令遭拒,反之亦然。

    注意

    這些命令都不會修改或授予資料存取權。

  • 從 Redis OSS 6.0 升級時,從地圖回應傳回的金鑰/值對順序會變更至 lua 指令碼。如果您的指令碼使用或redis.setresp()傳回映射 (在 Redis 6.0 OSS 中新增),請考慮指令碼在升級時可能會中斷的影響。

Redis OSS 6.0 行為和向後不相容的變更

如需變更的完整清單,請參閱 Redis OSS 6.0 版本備註。

  • 允許的資料庫數量上限已從 120 萬降低至 1 萬。預設值為 16,我們不鼓勵使用大於此的值,因為發現效能和記憶體問題。

  • AutoMinorVersionUpgrade參數設定為是,並將透過自助更新 ElastiCache 管理次要版本升級。這將透過自助更新行銷活動,經由標準客戶通知管道來處理。如需詳細資訊,請參閱 中的自助式更新 ElastiCache

Redis OSS 5.0 行為和向後不相容的變更

如需變更的完整清單,請參閱 Redis OSS 5.0 版本備註。

  • 指令碼是依效果複寫,而不是在複本上重新執行指令碼。這一般會改善效能,但可能會增加在主要項目和複本之間複寫的資料量。有一個選項可還原至先前的行為,其僅適用於 Redis 的 5.0 ElastiCache 版OSS。

  • 如果您是從 Redis OSS 4.0 升級,LUA指令碼中的某些命令會以與舊版不同的順序傳回引數。在 Redis OSS 4.0 版中,Redis OSS會以文字方式排序一些回應,讓回應具有決定性,當指令碼依效果複寫時,不會套用此排序。

  • Inn Redis OSS 5.0.3 及更高版本, ElastiCache 對於 Redis, OSS會將某些 IO 工作卸載到執行個體類型上超過 4 的背景核心VCPUs。這可能會變更 Redis 的效能特性,OSS並變更某些指標的值。如需詳細資訊,請參閱應監控哪些指標?,了解您是否需要變更您監控的指標。

Redis OSS 4.0 行為和向後不相容的變更

如需變更的完整清單,請參閱 Redis OSS 4.0 版本備註。

  • 慢速日誌現在會記錄另外兩個引數,即用戶端名稱和位址。除非您明確依賴每個包含 3 個值的慢速日誌項目,否則此變更應回溯相容。

  • CLUSTER NODES 命令現在會傳回略為不同的格式,不回溯相容。建議客戶不要使用此命令了解叢集中的節點,而應使用 CLUSTER SLOTS

過去 EOL

Redis OSS 3.2 行為和向後不相容的變更

如需變更的完整清單,請參閱 Redis OSS 3.2 版本備註。

  • 此版本沒有需注意的相容性變更。

如需詳細資訊,請參閱ElastiCache Redis 生命週期OSS結束排程的版本

Redis OSS 2.8 行為和向後不相容的變更

如需變更的完整清單,請參閱 Redis OSS 2.8 版本備註。

  • 從 Redis OSS 2.8.22 開始,Redis OSS AOF 不再支援 ElastiCache 中的 RedisOSS。資料需要持久保存時,建議使用 MemoryDB。

  • 從 Redis OSS 2.8.22 開始, ElastiCache 針對 Redis OSS不再支援將複本連接至託管於其中的 主要伺服器 ElastiCache。升級時,外部複本將中斷連線,且無法重新連線。我們建議使用用戶端快取,在 Redis 6.0 OSS 中提供,作為外部複本的替代方案。

  • 如果沒有金鑰,TTLPTTL 命令現在會傳回 -2,而如果有金鑰,但沒有關聯的過期,則傳回 -1。Redis OSS 2.6 和先前版本用於針對這兩個條件傳回 -1。

  • 如果不使用 STORE 選項,具 ALPHASORT 現在會根據地區定序設定排序。

如需詳細資訊,請參閱ElastiCache Redis 生命週期OSS結束排程的版本