Engula 被设计为 Valkey/Redis 7.2 的“即插即用”替代,目标是在不破坏 Redis 生态互操作性的前提下,让应用与客户端库可以无缝接入。 本指南面向开发者说明兼容性的含义、已验证的客户端范围,以及如何确保迁移后的行为一致。
Engula 会紧密对齐 Valkey/Redis 7.2 的语义与行为,包括:
任何可观察到的差异都会被记录,并在可行范围内进行兼容性修复,以保证 可预测的 Redis 行为一致性。
由于 Engula 对齐 Valkey/Redis 7.2 的协议与 API,因此凡是支持 Redis OSS 7.2 或 Valkey 7.2 及以上的客户端,通常都可以直接与 Engula 互操作。
这些目录包含各语言的主流客户端与其特性支持情况(例如 read-from-replica、smart backoff、client-side caching 等)。 只要某个客户端能正确连接 Valkey 或 Redis 7.2,通常就能以相同方式连接 Engula。
Engula 支持 Valkey/Redis 7.2 定义的高级客户端行为。只要使用标准协议命令,下列能力均可互操作:
提示: 部分特性需要在客户端侧开启配置或运行时开关。 请参考具体客户端的文档进行设置;Engula 提供相应的服务端能力支持。
Engula 在 CI 流水线中持续对主流 Redis/Valkey 客户端进行兼容性验证。尽管几乎所有 Redis/Valkey 7.2 兼容客户端都应当可以正常工作,但以下客户端已被明确验证:
| 语言 | 常见已验证客户端 |
|---|---|
| Go | go-redis, valkey-go |
| Java | jedis, valkey-java, redisson |
| JavaScript / TypeScript | node-redis, iovalkey |
| Python | redis-py, valkey-py |
| PHP | phpredis, predis |
如果您使用的客户端未在列表中,但声明支持 Valkey/Redis 7.2,则通常也应当可用。 如遇到异常行为,请反馈给我们,以便评估并纳入验证覆盖集。
从 Valkey/Redis 7.2 迁移到 Engula 一般非常直接:
Engula 会对主流 Redis 客户端 SDK 做自动化兼容性验证,覆盖:
更多信息:
Engula 团队会持续完善测试套件,及时发现并修复差异。欢迎社区贡献与 PR 来扩展覆盖范围。
如果您遇到客户端行为异常或协议处理差异:
一句话:能跑 Valkey 或 Redis 7.2,就能跑 Engula。 从官方 Valkey/Redis 客户端目录选择您偏好的客户端,即可无缝使用 Engula 的高性能与高内存效率架构。