雲原生記憶體資料庫Tair支援多個引擎版本和架構類型,不同的引擎版本和架構類型對Redis命令的支援度有所不同。本文以原生Redis的相關命令為基準,介紹詳細的命令支援情況和使用限制,為您的執行個體選型提供相關參考。
Tair命令限制
以下為執行個體最新小版本的相容情況。若您的執行個體存在更多限制,請您升級執行個體小版本後重試,具體操作請參見升級小版本。
如需瞭解Release notes,請參見Tair小版本發布日誌。
關於設定參數的具體操作,請參見設定執行個體參數。
無限制。
命令族
限制項
Keys(鍵)
MOVE與RENAME系列命令,需通過pena_rename_move_compatible_enabled參數開啟相容模式,才能執行。
Server(資料庫管理)
不支援命令:SWAPDB。
命令族
限制項
Hyperloglog
不支援命令:PFADD、PFDEBUG、PFCOUNT、PFMERGE、PFSELFTEST。
Keys(鍵)
不支援命令:MOVE、OBJECT、SORT、TOUCH。
Rename、RenameNX最大支援修改max-rename-commit-size大小(預設為16 MB)的Key。
Server(資料庫管理)
不支援命令:SWAPDB。
僅支援FLUSHDB命令同步執行模式,不支援非同步執行模式。在生產環境中,請謹慎執行FLUSHDB命令。
Streams(流)
不支援命令:XACK、XADD、XCLAIM、XDEL、XGROUP、XINFO、XLEN、XPENDING、XRANGE、XREAD、XREADGROUP、XREVRANGE、XTRIM。
Scripting(Lua指令碼)
Lua指令碼相關命令,例如EVAL、EVALSHA、SCRIPT EXISTS等,需通過txn-isolation-lock參數和#no_loose_lua-strict-mode參數開啟、控制。
Transactions(事務)
事務相關命令,例如DISCARD、EXEC、WATCH等,可通過txn-isolation-lock參數開啟、控制。
Tair命令支援
Tair執行個體相容多個原生Redis版本:
Tair記憶體型(相容Redis 6.0):完全相容Redis社區6.2版本及以下版本介面,額外支援Tair擴充資料結構。
Tair記憶體型(相容Redis 5.0):完全相容Redis社區5.0版本及以下版本介面,額外支援Tair擴充資料結構。
Tair持久記憶體型:相容Redis社區6.0版本及以下版本介面,部分限制請參見Tair命令支援與限制。
Tair磁碟型:相容Redis社區6.0版本及以下版本介面,部分限制請參見Tair命令支援與限制。
為便於瀏覽和內容表達,本文的表格約定使用下述注釋:
✔️表示支援該命令。
❌表示不支援該命令。
➖表示在原生Redis的該版本下,該命令尚未開始支援。例如原生Redis中,TOUCH命令在3.2.1及以上版本才開始支援,表格中的2.8版本下該命令即被標記為➖。
數字標記①:叢集架構執行個體在執行該命令時,需要開通直連訪問並使用直連地址串連至執行個體,詳情請參見使用直連模式串連Tair。通過Proxy節點的串連地址串連至執行個體時,也相容支援該命令。
數字標記②:為相容某些用戶端架構,執行CONFIG SET命令時僅返回
OK
,不會真正地修改參數。本文以最新核心小版本進行介紹,部分命令可能在指定小版本後開放支援,詳情請參見Tair小版本發布日誌和Proxy小版本發布日誌。
各命令族中的命令,如無特殊備忘和說明,預設支援Tair執行個體的所有架構,即標準架構、叢集架構及讀寫分離架構。叢集架構與讀寫分離架構執行個體在使用某些特定的命令時存在一些限制,詳情請參見叢集架構與讀寫分離架構的命令限制。