命令参考
查找命令、理解参数,并查看在真实 Lavik 上执行的请求与结果。
本参考固定于 Lavik 0.1.0-beta.1,覆盖清单中的全部 217 个命令名,依据提供的 Docker 回执、可执行用例和架构说明编写。可按连接、键、字符串、位图、集合类数据、地理位置、流、脚本、事务、发布订阅和服务器管理等命令族查阅。客户端兼容性应单独评估,重点包括协议协商、认证、启动探测和响应解析。每条语法描述实际执行过的形式,不代表注册信息中的所有选项均可用;备注说明测试准备、实际效果及重要缺口。已验证内容包括 HELLO 2/3、部分 SET 条件、脚本与函数库生命周期操作,以及事务冲突。COMMAND INFO 和 CLIENT TRACKING ON 调用失败,部分常见 Redis 命令也不存在。迁移 Redis 或 Valkey 应用前,应验证应用实际使用的子命令、选项组合、数据形态、错误处理及连接生命周期。单机控制命令被接受,不等于复制或集群行为已验证;保存成功或平稳重启通过,也不能证明崩溃恢复能力。
217 / 217 个命令
提供附加复制源命令入口,但已验证的调用被拒绝。
仅验证拒绝行为在字符串值末尾追加字节。
使用配置的密码认证当前连接。
启动后台保存。
统计字符串值中为 1 的比特数。
更新并读取编码在字符串比特中的整数。
读取整数字段的比特值而不修改字符串。
将源字符串的按位或结果存入目标键。
查找第一个匹配比特的位置。
将源列表左端元素移到目标列表右端,并允许等待至超时。
从列表左端批量弹出元素,并允许等待至超时。
移除列表最左端元素,必要时等待至超时。
移除列表最右端元素,必要时等待至超时。
将源列表最右端元素移到目标列表左端,必要时等待。
批量移除最低分成员,并允许等待至超时。
移除最高分成员,必要时等待至超时。
移除最低分成员,必要时等待至超时。
管理连接名称和客户端库元数据,并查询客户端标识。
通过 KEYSLOT 计算键的哈希槽。
统计已注册命令的数量,或提取命令的键参数。
读取或修改运行时配置,并重置命令统计。
将源键的值复制到目标键。
统计所选数据库中的键数。
将整数字符串值减一。
从字符串计数器中减去指定整数。
查询、暂停或恢复碎片整理维护。
删除键。
取消排队中的事务。
将键值序列化,以供 RESTORE 使用。
返回传入的消息。
执行 Lua 脚本,并显式声明所访问的键。
通过 SHA 摘要执行已缓存的 Lua 脚本。
通过只读调用路径执行已缓存的 Lua 脚本。
通过只读调用路径执行 Lua 脚本。
执行通过 MULTI 排队的命令。
统计给定键名中已存在的键数。
设置键的剩余生存时间,单位为秒。
将键的过期时间设为以秒为单位的绝对 Unix 时间戳。
查询键的绝对过期时间戳,单位为秒。
调用已加载库中注册的函数。
通过只读路径调用已注册的函数。
请求清空所有数据库内容。
清空所选数据库中的键。
管理已注册的函数库及其序列化表示。
向键中添加带名称的地理位置。
查询两个已存储位置之间的距离,单位为千米。
返回已存储位置的 geohash 表示。
返回已存储成员的地理坐标。
查找给定坐标周围指定半径内的已存储位置。
查找指定已存储成员周围半径内的位置。
以已存储成员为中心执行只读半径查询。
对给定坐标周围执行只读半径查询。
以命名成员为中心按半径查找位置。
存储以成员为中心的地理半径查询结果。
读取键中存储的字符串值。
读取字符串在指定比特偏移处的值。
返回字符串值并删除对应键。
读取字符串,同时设置以秒为单位的过期时间。
返回字符串中的指定字节范围。
替换字符串值并返回旧值。
从哈希中删除字段。
选择 RESP2 或 RESP3,并返回连接及服务器信息。
检查哈希是否包含指定字段。
读取一个哈希字段的值。
读取哈希的全部字段及其值。
为哈希字段增加指定整数。
为哈希字段增加指定浮点数。
返回哈希中的字段名。
统计哈希中的字段数。
按请求顺序读取多个哈希字段的值。
以合并方式设置哈希字段。
随机返回一个哈希字段名。
通过游标遍历哈希的字段及其值。
添加或更新哈希中的字段。
仅在哈希字段不存在时设置其值。
查询哈希字段值的字节长度。
返回哈希中存储的字段值。
将整数字符串值加一。
为字符串计数器增加指定整数。
为数字字符串增加指定浮点数。
查询服务器或复制状态信息。
返回匹配指定模式的键名。
查询最近一次成功保存的时间戳。
原子替换已有哈希的全部字段,同时保留键的过期时间。
返回两个字符串值的一个最长公共子序列。
返回列表中指定索引位置的元素。
在列表中匹配的基准元素之前插入元素。
返回列表中的元素数量。
将源列表最左端的元素移动到目标列表右端。
从列表左端批量移除指定数量的元素。
移除并返回列表最左端的元素。
查找列表中匹配元素的位置。
向列表左端添加元素。
仅向已存在的列表左端添加元素。
返回列表中指定范围的元素。
从列表中移除匹配的元素。
替换列表中指定索引位置的元素。
保留列表的指定范围,并移除范围外的元素。
按键参数顺序读取多个字符串值。
向当前连接持续发送观察到的命令活动。
在一次命令中存储多个字符串键值对。
仅在所有指定键均不存在时写入全部字符串键值对。
开始将命令加入事务队列。
移除键的过期设置。
设置键的剩余生存时间,单位为毫秒。
将键的过期时间设为以毫秒为单位的绝对 Unix 时间戳。
查询键的绝对过期时间戳,单位为毫秒。
检查连接能否收到服务器响应。
存储字符串,并设置以毫秒为单位的过期时间。
让当前连接订阅匹配指定模式的频道。
查询键的剩余生存时间,单位为毫秒。
向匹配的频道订阅和模式订阅发送消息。
查询频道的订阅者数量。
移除当前连接的指定模式订阅。
请求结束客户端连接。
从数据库中随机返回一个键。
接受连接读取模式请求。
接受连接读写模式请求。
更改键名。
仅在目标键不存在时重命名源键。
通过 NO ONE 形式请求单机主节点角色。
重置连接的会话状态。
根据序列化的值创建键。
查询服务器当前的复制角色。
移除并返回列表最右端的元素。
将源列表最右端的元素移动到目标列表左端。
向列表右端追加元素。
仅向已存在的列表右端追加元素。
向集合添加成员。
执行同步保存。
通过游标和模式过滤条件遍历键。
返回集合的成员数量。
加载脚本、检查脚本是否存在,或清空脚本缓存。
返回属于第一个集合但不属于第二个集合的成员。
将集合差集存入目标键。
请求为当前连接选择逻辑数据库。
存储字符串,并可使用已验证的存在条件或过期设置。
修改字符串中的一个比特并返回原值。
存储字符串,并设置以秒为单位的过期时间。
仅在键不存在时存储字符串。
从指定偏移处覆盖字符串字节。
返回输入集合共有的成员。
统计集合交集中的成员数。
存储输入集合的交集。
检查集合是否包含指定成员。
通过 SLAVEOF 命令名请求单机主节点角色。
查看或清空慢命令日志。
返回集合中的全部成员。
在一次请求中检查多个集合成员。
将成员从一个集合移动到另一个集合。
返回集合类数据排序后的元素。
通过只读命令返回排序后的集合元素。
随机移除并返回一个集合成员。
随机返回一个集合成员而不将其移除。
从集合中移除指定成员。
通过游标遍历集合成员。
返回字符串值的字节长度。
让当前连接订阅指定频道的消息。
返回按字节偏移选取的子串。
返回输入集合的并集。
将集合并集存入目标键。
查询或切换 TombRaider 维护服务的状态。
触碰指定键,并返回其中已存在的键数。
查询键的剩余生存时间,单位为秒。
查询键所存储值的类型。
从键空间中移除键。
移除当前连接的指定频道订阅。
清除当前连接的键监视注册。
请求查询此前写入获得的复制确认数量。
注册键以进行乐观事务冲突检测。
确认消费组中待确认的流条目。
向流追加具有指定 ID 的条目。
扫描符合条件的待确认条目并转交给消费者。
将待确认条目转交给另一个消费者。
按 ID 删除流条目。
创建流消费组及消费者,或删除消费组。
查询流的元数据。
返回流中的条目数量。
汇总消费组中的待确认条目。
按 ID 升序返回指定范围内的流条目。
读取指定 ID 之后的流条目。
向消费组中的消费者投递新的流条目。
按 ID 降序返回指定范围内的流条目。
设置流的最后生成 ID 元数据。
将流裁剪至指定的最大条目数。
向有序集合添加带分数的成员。
统计有序集合中的成员数。
统计分数位于指定范围内的有序集合成员。
返回有序集合输入的差集。
将有序集合差集存入目标键。
为有序集合成员的分数增加指定数值。
返回有序集合输入的交集。
统计有序集合交集中的成员数。
将有序集合交集存入目标键。
统计字典序范围内的成员数。
从有序集合批量移除最低分成员。
读取多个有序集合成员的分数。
移除并返回最高分成员及其分数。
移除并返回最低分成员及其分数。
随机返回一个有序集合成员而不移除它。
返回有序集合中指定排名范围的成员及分数。
返回字典序范围内的有序集合成员。
按分数升序返回指定分数范围内的成员。
将源有序集合的指定排名范围存入目标键。
返回成员按分数升序排列时的排名。
从有序集合移除指定成员。
移除字典序范围内的成员。
移除有序集合中指定排名范围的成员。
移除有序集合中指定分数范围的成员。
按分数降序返回指定排名范围的成员。
按逆字典序返回指定范围的成员。
按降序返回指定分数范围内的成员。
返回成员按分数降序排列时的排名。
通过游标遍历有序集合的成员及分数。
读取有序集合成员的分数。
返回有序集合输入的并集。
将有序集合并集存入目标键。
迁移时需要关注的差异
以下调用在该发布版本中实际返回 unknown command。它们不是已支持的命令。
| 实际调用 | 结果 |
|---|---|
ACL LIST | ERR unknown command 'ACL' |
MEMORY USAGE key | ERR unknown command 'MEMORY' |
OBJECT ENCODING key | ERR unknown command 'OBJECT' |
MOVE key 1 | ERR unknown command 'MOVE' |
PFADD hll a | ERR unknown command 'PFADD' |
PFCOUNT hll | ERR unknown command 'PFCOUNT' |
PFMERGE out hll | ERR unknown command 'PFMERGE' |
JSON.GET key | ERR unknown command 'JSON.GET' |
FT.SEARCH index * | ERR unknown command 'FT.SEARCH' |
HEXPIRE key 60 FIELDS 1 field | ERR unknown command 'HEXPIRE' |
SPUBLISH channel message | ERR unknown command 'SPUBLISH' |
SSUBSCRIBE channel | ERR unknown command 'SSUBSCRIBE' |
WAITAOF 1 0 100 | ERR unknown command 'WAITAOF' |
ASKING | ERR 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 源码和实测结果为准。