客户端兼容性

使用熟悉的 Redis 或 Valkey 客户端连接 Lavik。选择语言,查看固定版本、实际验证的操作和连接配置。

15已测试的客户端库
6编程语言
18连接配置
通过表示所列版本和配置的测试成功,不代表客户端全部 API 均兼容。测试针对单机、默认用户密码认证和明文 TCP;TLS、Sentinel、集群、连接池压力和故障转移尚未验证。
语言 / 客户端版本配置结果
Python
redis-py
8.1.0RESP2
protocol=2
通过
Python
redis-py
8.1.0RESP3
protocol=3
通过
Python
valkey-py
6.1.1RESP2
protocol=2
通过
Python
valkey-py
6.1.1RESP3
protocol=3
通过
Python
Valkey GLIDE Python
2.5.2RESP3
ProtocolVersion.RESP3
通过
Node.js
node-redis
6.2.1RESP2
RESP: 2
通过
Node.js
node-redis
6.2.1RESP3
RESP: 3
通过
Node.js
ioredis
6.0.0RESP2
protocol: 2; disconnect()
通过
Node.js
iovalkey
0.4.0RESP2
protocol: 2; disconnect()
通过
Node.js
Valkey GLIDE Node.js
2.5.2RESP3
ProtocolVersion.RESP3
通过
Go
go-redis
v9.22.0RESP3
Protocol: 3
通过
Go
valkey-go
v1.0.78RESP3
DisableCache: true
通过
Java
Jedis
7.0.0RESP2
Jedis standalone connection
通过
Java
valkey-java
5.5.0RESP2
io.valkey.Jedis standalone connection
通过
Java
Lettuce
7.7.0.RELEASEDefault negotiation
RedisClient standalone connection
通过
PHP
Predis
v3.6.1RESP2
Predis standalone connection
通过
PHP
phpredis
5.3.7RESP2
Ubuntu 24.04 PHP extension
通过
Ruby
redis-rb
5.4.1Default negotiation
Redis standalone connection
通过

迁移建议

先保持表中测试过的版本和设置,再运行应用测试。valkey-go 必须设置 DisableCache: true,因为此版本 Lavik 不支持 CLIENT TRACKING。不要依赖 COMMAND INFO;该子命令在本次实测中被拒绝。

每个客户端页面列出了实际执行的操作。部分测试使用客户端的原始命令 API;这些调用会单独标注。未列出的客户端和功能没有在此认证。

ioredis 和 iovalkey 的通过配置使用 disconnect() 结束连接。单独的 quit() 诊断中,调用虽然完成,但 Node.js 进程在 12 秒后仍未退出;请查看对应客户端页面的限制说明。

测试环境与可复现证据

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

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

固定源码: 3955b98d43b312324aa8d52775df52cfb111c0d0

二进制 SHA-256: 8306b37ddf05023f85166a6aa2192b7084757e8defd342b602e6470244aca887

镜像: sha256:fd13690a1931b8abb31b1866baa2a08c7c38e6df93aa78883321d1d3c1cddd00

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

客户端目录参考: Valkey client libraries. 这里的兼容性结论来自对 Lavik 的独立实测。