在Tair(Redis OSS-compatible)中,您可以建立不同版本的Redis開源版執行個體,本文介紹Redis開源版各版本的新特性與相容性變更。
每部分包括社區和阿里雲提供的特性及相容性變更。
Redis開源版 7.0
新特性
關於Redis 7.0的新特性請參見7.0 release note。
例如對於使用Background線程的module命令,慢日誌功能會記錄整個掛起的時間;對於普通的Block類命令(例如BLPOP),慢日誌功能只會記錄執行時間,不記錄掛起時間。
相容性
關於社區演化的Breaking change請參見7.0 release note。
例如不再支援STRALGO命令,替換為LCS命令。
不再支援CONFIG SET/GET及其他子命令,您可以通過控制台或OpenAPI查詢、修改執行個體的參數設定,更多資訊請參見設定執行個體參數。
不再支援Lua指令碼中的allow-oom flag,更多資訊請參見#10699。
關於其他命令的支援變化,請參見Redis開源版命令支援。
Redis開源版 6.0
新特性
關於Redis 6.0的新特性請參見6.0 release note。
在叢集架構直連模式中,PUBLISH命令會在叢集中廣播。
相容性
關於社區演化的Breaking change請參見6.0 release note。
帳號管理與社區ACL帳號許可權存在部分差異,如下為雲資料庫 Tair(相容 Redis)的帳號管理說明:
預設帳號為
default
,執行個體名帳號(例如r-bp1857n194kiuv****
)為另外一個單獨帳號。通過AUTH命令串連Redis時,若未指定帳號則使用
default
帳號鑒權。通過AUTH命令串連Redis時,若指定的帳號不存在,會返回錯誤
-WRONGPASS invalid username-password pair
,不再自動轉為預設帳號鑒權。開通VPC免密後,通過AUTH命令串連Redis時,若指定的帳號不存在(或指定了密碼且密碼錯誤),會返回錯誤
-WRONGPASS invalid username-password pair
,不再返回OK
。
CONFIG GET命令必須指定配置項,不支援萬用字元(*)。
關於其他命令的支援變化,請參見Redis開源版命令支援。
Redis開源版 5.0
新特性
關於Redis 5.0的新特性請參見5.0 release note。
支援時延洞察。
支援即時大Key統計。
支援TLS加密。
最佳化了Blocking串連的喚醒時間精度。
叢集架構直連模式支援無感擴縮容。
相容性
關於社區演化的Breaking change,請參見5.0 release note。
例如Lua指令碼執行的命令不再對結果進行排序。
帳號名稱的大小寫敏感。
開通VPC免密後,免密串連可通過AUTH切換不同帳號。
說明若您的不同帳號設定了不同許可權,請確保應用程式在許可權範圍內執行命令,否則會出現許可權不足的報錯。
開放READONLY和READWRITE命令。
雲原生版與經典版存在部分差異:雲原生版執行個體開通VPC免密後,所有串連仍需進行白名單驗證,且無法設定
#no_loose_check-whitelist-always
參數。關於其他命令的支援變化,請參見Redis開源版命令支援。
Redis開源版 4.0
新特性
關於Redis 4.0的新特性請參見4.0 release note。
支援審計日誌。
支援即時熱Key統計。
開通VPC免密後,可通過設定
#no_loose_check-whitelist-always
參數,選擇是否對同一VPC的網路連接進行白名單驗證,更多資訊請參見參數支援。支援Sentinel相容模式,需開通VPC免密,僅支援SENTINEL和get-master-addr-by-name兩個子命令。
支援建立多個帳號(帳號名稱大小寫不敏感),並可以對帳號設定讀寫、唯讀許可權,您可以通過
AUTH user:password
切換帳號。預設帳號為執行個體名(例如
r-bp1857n194kiuv****
)。若未指定帳號或者帳號不存在,則自動轉為預設帳號鑒權(執行個體名)。
若開通VPC免密,免密串連無需鑒權,將使用預設帳號,且無法切換帳號。
叢集架構支援開通直連模式地址。
叢集架構支援通過設定
ptod_enabled
參數,將用戶端IP透傳給DB節點,更多資訊請參見參數支援。
相容性
關於社區演化的Breaking change請參見4.0 release note。
例如叢集架構下需要記錄Slot-to-Key的映射關係,所以相同資料的記憶體佔用會比標準架構多。
例如叢集架構下SORT命令不支援BY和GET參數。
不再支援SSL加密。
叢集架構直連模式不支援部分CLUSTER命令,更多資訊請參見Redis開源版命令支援。
叢集架構直連模式支援SELECT命令。
說明您無法再使用SELECT命令來判斷當前串連是否為Cluster mode,否則會導致誤判。
在叢集架構直連模式中,PUBLISH命令不會廣播至其他節點。
關於其他命令的支援變化,請參見Redis開源版命令支援。
Redis開源版 2.8(已停售)
新特性
關於Redis 2.8的新特性請參見2.8 release note。
支援設定白名單。
支援VPC免密,開啟該功能後:
來自該VPC內的網路連接無需進行IP白名單驗證。
來自該VPC內的網路連接執行AUTH命令時,直接返回OK,無需進行密碼驗證。
支援SSL加密。
支援設定禁用命令。
支援代理模式(Proxy)的叢集架構。
相容性
關於社區演化的Breaking change請參見2.8 release note。
不支援部分調試類命令和管理類命令,更多資訊請參見Redis開源版命令支援。
提供有限的CONFIG SET/GET命令支援:
CONFIG GET:僅返回部分配置項,不返回安全相關的配置項。
CONFIG SET:僅返回OK,不會修改參數。
提供有限的INFO命令支援,例如不返回Persistence、Replication等安全相關資訊。
叢集架構代理模式不支援部分命令,更多資訊請參見叢集架構與讀寫分離架構執行個體的命令限制。