命令参考

查找命令、理解参数,并查看在真实 Lavik 上执行的请求与结果。

217已测试的命令名称
14命令类别
0.1.0版本固定

本参考固定于 Lavik 0.1.0-beta.1,覆盖清单中的全部 217 个命令名,依据提供的 Docker 回执、可执行用例和架构说明编写。可按连接、键、字符串、位图、集合类数据、地理位置、流、脚本、事务、发布订阅和服务器管理等命令族查阅。客户端兼容性应单独评估,重点包括协议协商、认证、启动探测和响应解析。每条语法描述实际执行过的形式,不代表注册信息中的所有选项均可用;备注说明测试准备、实际效果及重要缺口。已验证内容包括 HELLO 2/3、部分 SET 条件、脚本与函数库生命周期操作,以及事务冲突。COMMAND INFO 和 CLIENT TRACKING ON 调用失败,部分常见 Redis 命令也不存在。迁移 Redis 或 Valkey 应用前,应验证应用实际使用的子命令、选项组合、数据形态、错误处理及连接生命周期。单机控制命令被接受,不等于复制或集群行为已验证;保存成功或平稳重启通过,也不能证明崩溃恢复能力。

覆盖的是页面列出的具体调用与结果。注册一个命令不代表支持其所有选项。ADDREPLICAOF 目前仅测试了拒绝 NO ONE;集群、故障转移和生产 SLA 不在本次验证范围内。

217 / 217 个命令

ADDREPLICAOF服务与管理

提供附加复制源命令入口,但已验证的调用被拒绝。

仅验证拒绝行为
APPEND字符串

在字符串值末尾追加字节。

AUTH连接

使用配置的密码认证当前连接。

BGSAVE服务与管理

启动后台保存。

BITCOUNT位图

统计字符串值中为 1 的比特数。

BITFIELD位图

更新并读取编码在字符串比特中的整数。

BITFIELD_RO位图

读取整数字段的比特值而不修改字符串。

BITOP位图

将源字符串的按位或结果存入目标键。

BITPOS位图

查找第一个匹配比特的位置。

BLMOVE列表

将源列表左端元素移到目标列表右端,并允许等待至超时。

BLMPOP列表

从列表左端批量弹出元素,并允许等待至超时。

BLPOP列表

移除列表最左端元素,必要时等待至超时。

BRPOP列表

移除列表最右端元素,必要时等待至超时。

BRPOPLPUSH列表

将源列表最右端元素移到目标列表左端,必要时等待。

BZMPOP有序集合

批量移除最低分成员,并允许等待至超时。

BZPOPMAX有序集合

移除最高分成员,必要时等待至超时。

BZPOPMIN有序集合

移除最低分成员,必要时等待至超时。

CLIENT连接

管理连接名称和客户端库元数据,并查询客户端标识。

CLUSTER服务与管理

通过 KEYSLOT 计算键的哈希槽。

COMMAND服务与管理

统计已注册命令的数量,或提取命令的键参数。

CONFIG服务与管理

读取或修改运行时配置,并重置命令统计。

COPY键与过期时间

将源键的值复制到目标键。

DBSIZE键与过期时间

统计所选数据库中的键数。

DECR字符串

将整数字符串值减一。

DECRBY字符串

从字符串计数器中减去指定整数。

DEFRAG服务与管理

查询、暂停或恢复碎片整理维护。

DEL键与过期时间

删除键。

DISCARD事务

取消排队中的事务。

DUMP键与过期时间

将键值序列化,以供 RESTORE 使用。

ECHO连接

返回传入的消息。

EVALLua 与函数

执行 Lua 脚本,并显式声明所访问的键。

EVALSHALua 与函数

通过 SHA 摘要执行已缓存的 Lua 脚本。

EVALSHA_ROLua 与函数

通过只读调用路径执行已缓存的 Lua 脚本。

EVAL_ROLua 与函数

通过只读调用路径执行 Lua 脚本。

EXEC事务

执行通过 MULTI 排队的命令。

EXISTS键与过期时间

统计给定键名中已存在的键数。

EXPIRE键与过期时间

设置键的剩余生存时间,单位为秒。

EXPIREAT键与过期时间

将键的过期时间设为以秒为单位的绝对 Unix 时间戳。

EXPIRETIME键与过期时间

查询键的绝对过期时间戳,单位为秒。

FCALLLua 与函数

调用已加载库中注册的函数。

FCALL_ROLua 与函数

通过只读路径调用已注册的函数。

FLUSHALL键与过期时间

请求清空所有数据库内容。

FLUSHDB键与过期时间

清空所选数据库中的键。

FUNCTIONLua 与函数

管理已注册的函数库及其序列化表示。

GEOADD地理空间

向键中添加带名称的地理位置。

GEODIST地理空间

查询两个已存储位置之间的距离,单位为千米。

GEOHASH地理空间

返回已存储位置的 geohash 表示。

GEOPOS地理空间

返回已存储成员的地理坐标。

GEORADIUS地理空间

查找给定坐标周围指定半径内的已存储位置。

GEORADIUSBYMEMBER地理空间

查找指定已存储成员周围半径内的位置。

GEORADIUSBYMEMBER_RO地理空间

以已存储成员为中心执行只读半径查询。

GEORADIUS_RO地理空间

对给定坐标周围执行只读半径查询。

GEOSEARCH地理空间

以命名成员为中心按半径查找位置。

GEOSEARCHSTORE地理空间

存储以成员为中心的地理半径查询结果。

GET字符串

读取键中存储的字符串值。

GETBIT位图

读取字符串在指定比特偏移处的值。

GETDEL字符串

返回字符串值并删除对应键。

GETEX字符串

读取字符串,同时设置以秒为单位的过期时间。

GETRANGE字符串

返回字符串中的指定字节范围。

GETSET字符串

替换字符串值并返回旧值。

HDEL哈希

从哈希中删除字段。

HELLO连接

选择 RESP2 或 RESP3,并返回连接及服务器信息。

HEXISTS哈希

检查哈希是否包含指定字段。

HGET哈希

读取一个哈希字段的值。

HGETALL哈希

读取哈希的全部字段及其值。

HINCRBY哈希

为哈希字段增加指定整数。

HINCRBYFLOAT哈希

为哈希字段增加指定浮点数。

HKEYS哈希

返回哈希中的字段名。

HLEN哈希

统计哈希中的字段数。

HMGET哈希

按请求顺序读取多个哈希字段的值。

HMSET哈希

以合并方式设置哈希字段。

HRANDFIELD哈希

随机返回一个哈希字段名。

HSCAN哈希

通过游标遍历哈希的字段及其值。

HSET哈希

添加或更新哈希中的字段。

HSETNX哈希

仅在哈希字段不存在时设置其值。

HSTRLEN哈希

查询哈希字段值的字节长度。

HVALS哈希

返回哈希中存储的字段值。

INCR字符串

将整数字符串值加一。

INCRBY字符串

为字符串计数器增加指定整数。

INCRBYFLOAT字符串

为数字字符串增加指定浮点数。

INFO服务与管理

查询服务器或复制状态信息。

KEYS键与过期时间

返回匹配指定模式的键名。

LASTSAVE服务与管理

查询最近一次成功保存的时间戳。

LAVIK.HREPLACE哈希

原子替换已有哈希的全部字段,同时保留键的过期时间。

LCS字符串

返回两个字符串值的一个最长公共子序列。

LINDEX列表

返回列表中指定索引位置的元素。

LINSERT列表

在列表中匹配的基准元素之前插入元素。

LLEN列表

返回列表中的元素数量。

LMOVE列表

将源列表最左端的元素移动到目标列表右端。

LMPOP列表

从列表左端批量移除指定数量的元素。

LPOP列表

移除并返回列表最左端的元素。

LPOS列表

查找列表中匹配元素的位置。

LPUSH列表

向列表左端添加元素。

LPUSHX列表

仅向已存在的列表左端添加元素。

LRANGE列表

返回列表中指定范围的元素。

LREM列表

从列表中移除匹配的元素。

LSET列表

替换列表中指定索引位置的元素。

LTRIM列表

保留列表的指定范围,并移除范围外的元素。

MGET字符串

按键参数顺序读取多个字符串值。

MONITOR服务与管理

向当前连接持续发送观察到的命令活动。

MSET字符串

在一次命令中存储多个字符串键值对。

MSETNX字符串

仅在所有指定键均不存在时写入全部字符串键值对。

MULTI事务

开始将命令加入事务队列。

PERSIST键与过期时间

移除键的过期设置。

PEXPIRE键与过期时间

设置键的剩余生存时间,单位为毫秒。

PEXPIREAT键与过期时间

将键的过期时间设为以毫秒为单位的绝对 Unix 时间戳。

PEXPIRETIME键与过期时间

查询键的绝对过期时间戳,单位为毫秒。

PING连接

检查连接能否收到服务器响应。

PSETEX字符串

存储字符串,并设置以毫秒为单位的过期时间。

PSUBSCRIBE发布/订阅

让当前连接订阅匹配指定模式的频道。

PTTL键与过期时间

查询键的剩余生存时间,单位为毫秒。

PUBLISH发布/订阅

向匹配的频道订阅和模式订阅发送消息。

PUBSUB发布/订阅

查询频道的订阅者数量。

PUNSUBSCRIBE发布/订阅

移除当前连接的指定模式订阅。

QUIT连接

请求结束客户端连接。

RANDOMKEY键与过期时间

从数据库中随机返回一个键。

READONLY服务与管理

接受连接读取模式请求。

READWRITE服务与管理

接受连接读写模式请求。

RENAME键与过期时间

更改键名。

RENAMENX键与过期时间

仅在目标键不存在时重命名源键。

REPLICAOF服务与管理

通过 NO ONE 形式请求单机主节点角色。

RESET连接

重置连接的会话状态。

RESTORE键与过期时间

根据序列化的值创建键。

ROLE服务与管理

查询服务器当前的复制角色。

RPOP列表

移除并返回列表最右端的元素。

RPOPLPUSH列表

将源列表最右端的元素移动到目标列表左端。

RPUSH列表

向列表右端追加元素。

RPUSHX列表

仅向已存在的列表右端追加元素。

SADD集合

向集合添加成员。

SAVE服务与管理

执行同步保存。

SCAN键与过期时间

通过游标和模式过滤条件遍历键。

SCARD集合

返回集合的成员数量。

SCRIPTLua 与函数

加载脚本、检查脚本是否存在,或清空脚本缓存。

SDIFF集合

返回属于第一个集合但不属于第二个集合的成员。

SDIFFSTORE集合

将集合差集存入目标键。

SELECT连接

请求为当前连接选择逻辑数据库。

SET字符串

存储字符串,并可使用已验证的存在条件或过期设置。

SETBIT位图

修改字符串中的一个比特并返回原值。

SETEX字符串

存储字符串,并设置以秒为单位的过期时间。

SETNX字符串

仅在键不存在时存储字符串。

SETRANGE字符串

从指定偏移处覆盖字符串字节。

SINTER集合

返回输入集合共有的成员。

SINTERCARD集合

统计集合交集中的成员数。

SINTERSTORE集合

存储输入集合的交集。

SISMEMBER集合

检查集合是否包含指定成员。

SLAVEOF服务与管理

通过 SLAVEOF 命令名请求单机主节点角色。

SLOWLOG服务与管理

查看或清空慢命令日志。

SMEMBERS集合

返回集合中的全部成员。

SMISMEMBER集合

在一次请求中检查多个集合成员。

SMOVE集合

将成员从一个集合移动到另一个集合。

SORT键与过期时间

返回集合类数据排序后的元素。

SORT_RO键与过期时间

通过只读命令返回排序后的集合元素。

SPOP集合

随机移除并返回一个集合成员。

SRANDMEMBER集合

随机返回一个集合成员而不将其移除。

SREM集合

从集合中移除指定成员。

SSCAN集合

通过游标遍历集合成员。

STRLEN字符串

返回字符串值的字节长度。

SUBSCRIBE发布/订阅

让当前连接订阅指定频道的消息。

SUBSTR字符串

返回按字节偏移选取的子串。

SUNION集合

返回输入集合的并集。

SUNIONSTORE集合

将集合并集存入目标键。

TOMBRAIDER服务与管理

查询或切换 TombRaider 维护服务的状态。

TOUCH键与过期时间

触碰指定键,并返回其中已存在的键数。

TTL键与过期时间

查询键的剩余生存时间,单位为秒。

TYPE键与过期时间

查询键所存储值的类型。

UNLINK键与过期时间

从键空间中移除键。

UNSUBSCRIBE发布/订阅

移除当前连接的指定频道订阅。

UNWATCH事务

清除当前连接的键监视注册。

WAIT服务与管理

请求查询此前写入获得的复制确认数量。

WATCH事务

注册键以进行乐观事务冲突检测。

XACK

确认消费组中待确认的流条目。

XADD

向流追加具有指定 ID 的条目。

XAUTOCLAIM

扫描符合条件的待确认条目并转交给消费者。

XCLAIM

将待确认条目转交给另一个消费者。

XDEL

按 ID 删除流条目。

XGROUP

创建流消费组及消费者,或删除消费组。

XINFO

查询流的元数据。

XLEN

返回流中的条目数量。

XPENDING

汇总消费组中的待确认条目。

XRANGE

按 ID 升序返回指定范围内的流条目。

XREAD

读取指定 ID 之后的流条目。

XREADGROUP

向消费组中的消费者投递新的流条目。

XREVRANGE

按 ID 降序返回指定范围内的流条目。

XSETID

设置流的最后生成 ID 元数据。

XTRIM

将流裁剪至指定的最大条目数。

ZADD有序集合

向有序集合添加带分数的成员。

ZCARD有序集合

统计有序集合中的成员数。

ZCOUNT有序集合

统计分数位于指定范围内的有序集合成员。

ZDIFF有序集合

返回有序集合输入的差集。

ZDIFFSTORE有序集合

将有序集合差集存入目标键。

ZINCRBY有序集合

为有序集合成员的分数增加指定数值。

ZINTER有序集合

返回有序集合输入的交集。

ZINTERCARD有序集合

统计有序集合交集中的成员数。

ZINTERSTORE有序集合

将有序集合交集存入目标键。

ZLEXCOUNT有序集合

统计字典序范围内的成员数。

ZMPOP有序集合

从有序集合批量移除最低分成员。

ZMSCORE有序集合

读取多个有序集合成员的分数。

ZPOPMAX有序集合

移除并返回最高分成员及其分数。

ZPOPMIN有序集合

移除并返回最低分成员及其分数。

ZRANDMEMBER有序集合

随机返回一个有序集合成员而不移除它。

ZRANGE有序集合

返回有序集合中指定排名范围的成员及分数。

ZRANGEBYLEX有序集合

返回字典序范围内的有序集合成员。

ZRANGEBYSCORE有序集合

按分数升序返回指定分数范围内的成员。

ZRANGESTORE有序集合

将源有序集合的指定排名范围存入目标键。

ZRANK有序集合

返回成员按分数升序排列时的排名。

ZREM有序集合

从有序集合移除指定成员。

ZREMRANGEBYLEX有序集合

移除字典序范围内的成员。

ZREMRANGEBYRANK有序集合

移除有序集合中指定排名范围的成员。

ZREMRANGEBYSCORE有序集合

移除有序集合中指定分数范围的成员。

ZREVRANGE有序集合

按分数降序返回指定排名范围的成员。

ZREVRANGEBYLEX有序集合

按逆字典序返回指定范围的成员。

ZREVRANGEBYSCORE有序集合

按降序返回指定分数范围内的成员。

ZREVRANK有序集合

返回成员按分数降序排列时的排名。

ZSCAN有序集合

通过游标遍历有序集合的成员及分数。

ZSCORE有序集合

读取有序集合成员的分数。

ZUNION有序集合

返回有序集合输入的并集。

ZUNIONSTORE有序集合

将有序集合并集存入目标键。

迁移时需要关注的差异

以下调用在该发布版本中实际返回 unknown command。它们不是已支持的命令。

实际调用结果
ACL LISTERR unknown command 'ACL'
MEMORY USAGE keyERR unknown command 'MEMORY'
OBJECT ENCODING keyERR unknown command 'OBJECT'
MOVE key 1ERR unknown command 'MOVE'
PFADD hll aERR unknown command 'PFADD'
PFCOUNT hllERR unknown command 'PFCOUNT'
PFMERGE out hllERR unknown command 'PFMERGE'
JSON.GET keyERR unknown command 'JSON.GET'
FT.SEARCH index *ERR unknown command 'FT.SEARCH'
HEXPIRE key 60 FIELDS 1 fieldERR unknown command 'HEXPIRE'
SPUBLISH channel messageERR unknown command 'SPUBLISH'
SSUBSCRIBE channelERR unknown command 'SSUBSCRIBE'
WAITAOF 1 0 100ERR unknown command 'WAITAOF'
ASKINGERR unknown command 'ASKING'

CLIENT TRACKING ON 和 COMMAND INFO get 也返回不支持的子命令错误。请检查客户端默认功能和连接时发送的命令。

测试环境与可复现证据

验证时间: 2026-09-21T11:06:06Z · Docker / Linux aarch64 · lavik 0.1.0-beta.1

存储与连接: io_uring · 临时文件、2 个工作线程、单机、明文 TCP、密码认证。此测试不衡量 NVMe 性能。

固定源码: 3955b98d43b312324aa8d52775df52cfb111c0d0

二进制 SHA-256: 8306b37ddf05023f85166a6aa2192b7084757e8defd342b602e6470244aca887

镜像: sha256:af0cfb11b78f184cb6cc49a774a49dc97a8e43a0bd3f4d63d83c8c9ef3282d6e

完整测试记录 · 可执行测试

文档组织参考: Valkey docs · Valkey command reference. 行为说明以固定版本的 Lavik 源码和实测结果为准。