兼容性概览
选择正确客户端模式,并检查应用实际使用的命令。
协议与数据类型
Lavik 使用 Redis 协议,支持 RESP2 和 RESP3 协商,已公开命令以 Redis 7.2 语义为目标。支持字符串、哈希、集合、有序集合、列表、流、Geo、位图、事务、Lua/Functions 及 Pub/Sub 等。兼容性取决于具体命令和选项,不代表实现所有 Redis 模块或后续扩展。
独立模式、托管 Single 与 Cluster
配置 --meta-seed 的 Data 节点从 Meta 提交的清单获取 client_mode。Single 用一个 Group 覆盖所有槽和 DB0–15,不发送 MOVED 重定向。Cluster 使用 DB0、MOVED 路由及 CROSSSLOT 检查;完整副本的集群读取需要 READONLY。0.2.0 中事务、脚本和 Stream 操作使用与其他命令一致的权限及存储规则。
Cluster 的 Function 库和无键 FLUSH 操作仅作用于接收请求的 Group,不要假设一次请求更新所有 Group。不支持在线槽迁移及 CLUSTER SHARDS;应使用支持 CLUSTER SLOTS 的客户端。
已知边界
不支持 CLIENT TRACKING 和 COMMAND INFO;valkey-go 需禁用客户端缓存。命令参考记录了 ACL、HyperLogLog、RedisJSON/搜索模块、字段级过期及分片 Pub/Sub 的拒绝示例。WAIT 是有界的副本确认屏障,不是同步提交或无损故障转移保证。