雷迪斯OSS引擎版本 - Amazon MemoryDB

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

雷迪斯OSS引擎版本

本節涵蓋支援的 Redis OSS 引擎版本。

記憶體 7.1 版 (增強版)

MemoryDB 7.1 版增加了對所有區域中向量搜索功能的支持,以及重大錯誤修復和性能增強功能。

  • 矢量搜索功能:矢量搜索可以與現有的 MemoryDB 功能一起使用。不使用向量搜尋的應用程式不會受到其存在的影響。在所有區域中,MemoryDB 7.1 版以後都可以使用向量搜尋。如需進一步資訊,請參閱此處的文件。

注意

內存數據庫 7.1 版與 Redis OSS 的 7.0 版兼容。如需有關 Redis OSS 7.0 發行版本的詳細資訊,請參閱上的 Redis OSS 7.0 版本說明。OSS GitHub

記憶體 7.0 版 (增強版)

MemoryDB 7.0 增加了許多改進和新功能的支持:

  • Redis OSS 函數:MemoryDB 7 增加了對 Redis OSS 函數的支持,並提供了一個託管的體驗,使開發人員能夠使用存儲在 MemoryDB 集群上的應用程序邏輯執行LUA腳本,而不需要客戶端重新發送腳本到服務器每次連接。

  • ACL改進:MemoryDB 7 增加了對 Redis 的OSS訪問控制列表的下一個版本的支持()。ACLs使用 MemoryDB OSS 7,客戶端現在可以在 Redis 中的特定鍵或密鑰空間上指定多組權限。OSS

  • 分片發布/訂閱:MemoryDB 7 添加了在啟用集群模式下運行 MemoryDB 時以分片方式運行 Redis 發OSS布/訂閱功能的支持()。CMERedis OSS Pub/Sub 功能可讓發佈者向頻道上任意數量的訂閱者發送訊息。使用 Amazon MemoryDB OSS 7 時,通道會繫結至 MemoryDB 叢集中的碎片,因此無需在碎片之間傳播通道資訊。這會導致改進的可擴展性。

  • 增強的 I/O 多工處理:MemoryDB 第 7 OSS 版引入了增強的 I/O 多工處理功能,可為具有許多並行用戶端連線至 MemoryDB 叢集的高輸送量工作負載提供更高的輸送量並減少延遲。例如,當使用 r6g.4xlarge 節點叢集並執行 5200 個並行用戶端時,與 MemoryDB 第 6 版相比,您最多可以增加 46% 的輸送量 (每秒讀取和寫入作業),而 P99 延遲最多可減少 21%。

如需有關 Redis OSS 7.0 發行版本的詳細資訊,請參閱上的 Redis OSS 7.0 版本說明。OSS GitHub

記憶體資料庫 6.2 版 (增強版)

MemoryDB 引入了 Redis OSS 引擎的下一個版本,其中包括自動版本升級支持使用存取控制清單 (ACL) 驗證使用者,客戶端緩存和顯著的操作改進。

Redis 引擎版本 6.2.6 也引入了對原生 JavaScript 物件表示法 (JSON) 格式的支援,這是一種簡單、無結構描述的方式來編碼 Redis 叢集內的複雜資料集。OSS有了JSONJSON支援,您可以利用效能和 Redis 來處理運作OSSAPIs的應用程式。如需詳細資訊,請參閱JSON 入門。此外,還包括納入 CloudWatch 以監視此資料類型使用狀況的JSON相關指標JsonBasedCmds。如需詳細資訊,請參閱記憶體資料庫的度量

使用 Redis OSS 6,MemoryDB 將為每個 Redis 次要版本提供單一版本,而不是提供多個OSS修補程式版本。這是為了最大限度地減少必須從多個次要版本中進行選擇時的混淆和歧義。MemoryDB 還將自動管理正在運行的集群的次要版本和修補程序版本,以確保提高性能和增強的安全性。這將透過標準的客戶通知管道,透過服務更新行銷活動來處理。如需詳細資訊,請參閱記憶體資料庫中的服務更新

如果您在創建過程中未指定引擎版本,MemoryDB 將自動為您選擇首選的 Redis OSS 版本。另一方面,如果您使用指定引擎版本6.2,MemoryDB 將自動調用可用的 Redis OSS 6.2 的首選修補程序版本。

例如,當您建立叢集時,可將--engine-version參數設定為6.2。叢集會在建立時以目前可用的偏好修補程式版本啟動。任何具有完整引擎版本值的請求都將被拒絕,將拋出異常,並且進程將失敗。

呼叫時 DescribeEngineVersionsAPI,EngineVersion參數值將設定為 6.2,而且會在EnginePatchVersion欄位中傳回實際的完整引擎版本。

如需有關 Redis OSS 6.2 發行版本的詳細資訊,請參閱上的 Redis 6.2 版本說明。OSS GitHub

升級引擎版本

MemoryDB 預設會透過服務更新自動管理執行中叢集的修補程式版本。如果將叢集的AutoMinorVersionUpgrade內容設定為 false,您也可以選擇退出 auto 次要版本升級。不過,您無法選擇退出自 auto 修補程式版本升級。

您可以控制在 auto 升級開始之前,是否將支援叢集的通訊協定相容軟體升級為 MemoryDB 支援的新版本,以及何時升級。這一層控制可讓您維持特定版本的相容性、在部署至生產環境前先利用您的應用程式測試新版本,並根據自己的期限和時間表執行版本升級。

您可以透過下列方式啟動叢集的引擎版本升級:

注意下列事項:

  • 您可以升級到更新版本的引擎,但無法降級到舊版引擎。如果您要使用舊版引擎,您必須刪除現有的叢集,並使用舊版引擎重新建立一個。

  • 建議您定期升級至最新主要版本,因為大部分主要改進功能不會向後移植至舊版。隨著 MemoryDB 將可用性擴展到新的 AWS 區域,MemoryDB 支持當時的兩個最新MAJOR.MINOR版本的新區域。例如,如果新 AWS 區域啟動,而最新的MAJOR.MINOR記憶體資料庫版本為 7.0 和 6.2,則 MemoryDB 將在新區域中支援 7.0 和 6.2 版本。 AWS 隨著新MAJOR.MINOR版本的 MemoryDB 發布,MemoryDB 將繼續添加對新發布的內存數據庫版本的支持。若要進一步瞭解如何選擇 MemoryDB 區域,請參閱。支援的地區和端點

  • 引擎版本管理功能是為了讓您能夠盡可能控制執行修補的方式,但是,MemoryDB 保留在系統或軟件出現嚴重安全漏洞的情況下代表您修補叢集的權利。

  • MemoryDB 將為每個 Redis 次要版本提供單一版本,而不是提供多個OSS修補程式版本。這是為了最大限度地減少必須從多個版本中進行選擇時的混淆和歧義。MemoryDB 還將自動管理正在運行的集群的次要版本和修補程序版本,以確保提高性能和增強的安全性。這將透過標準的客戶通知管道,透過服務更新行銷活動來處理。如需詳細資訊,請參閱記憶體資料庫中的服務更新

  • 您可以在最短的停機時間內升級叢集版本。叢集在整個升級過程中都可供讀取,而在過程的多數時間也可供寫入,除了在容錯移轉操作中會有幾秒可能無法寫入。

  • 建議您在低傳入寫入流量期間執行引擎升級。

    具有多個碎片的簇被處理和修補,如下所示:

    • 每個碎片隨時只會執行一個升級作業。

    • 在每個碎片中,都會先處理所有複本,再處理主要複本。如果某個碎片中的複本較少,則該碎片中的主要複本可能會在其他碎片的複本處理完成前就已處理。

    • 跨所有碎片時,則會循序處理主要節點。一次只會升級一個主要節點。

如何升級引擎版本

您可以使用 MemoryDB 主控台、或 MemoryDB 來修改叢集,API並指定較新的引擎版本 AWS CLI,以啟動叢集的版本升級。如需詳細資訊,請參閱下列主題。

解決遭封鎖的 Redis OSS 引擎升級

如下表所示,如果您有擱置的擴充作業,則會封鎖 Redis OSS 引擎升級作業。

待定作業 封鎖的作業
向上擴展 立即升級引擎
引擎升級 立即向上擴展
向上擴展與升級引擎 立即向上擴展
立即升級引擎