HotKV 对比 Valkey

为多核而构建的 Valkey 替代方案

一款 Valkey 替代方案必须保留协议。HotKV 保留了 RESP2 和 RESP3,并用一个让每个核心都在同一个共享存储上执行命令的引擎取代了单线程命令循环。它在同一台机器上与 Valkey™ 9.1.2 对比测量,方法和原始数据均已公开。

快照运行期间的内存

Valkey,fork() HotKV,后台线程
快照运行中BGSAVE完成时间已用内存,越高越差写时复制页面
示意图,并非测量结果。Valkey 和 Redis 为 RDB 快照 fork 一个子进程,因此快照期间写入的页面会被复制。HotKV 由后台线程写入快照。Valkey 的 9.2 候选发布版增加了可选启用的无 fork 快照。

这款 Valkey 替代方案 以单实例运行在一台 160 vCPU 的机器上,在与 Valkey 9.1.2 的对比中,于 12 个命令中的 12 个上领先,吞吐量为其 8.6x 到 56.6x。HotKV 针对该 CPU 从源码构建。Valkey 9.1.2 以其原版构建运行。在小型机器上差距较小。

即插即用

这款 Valkey 替代方案 保持不变的部分

HotKV 实现了 Redis 线路协议。从 Valkey 迁移通常只需更改主机和凭据。核心集之外的任何内容请查阅命令参考。

相同的协议

RESP2 和 RESP3,支持 HELLO 协商。HotKV 向客户端报告 Redis 版本 8.4.0,因此客户端库据此选择功能。连接字符串、管道、发布/订阅和事务都像现在一样工作。

相同的客户端和工具

Redis 和 Valkey 客户端库、redis-cli、redis-cli --cluster 以及 GUI 工具无需改动代码即可连接 HotKV 并使用核心命令。

相同的核心命令

300 个核心命令、Lua 脚本和函数库,以及需要时可用的 HotKV 自有命令族。

您已在使用的客户端
$ redis-cli -h <your-hotkv-host> -p 6379 --tls --user app --askpass
> HELLO 3
1# "server" => "hotkv"
2# "version" => "8.4.0"
3# "proto" => (integer) 3
   ... (另外四个字段)
> SET session:4821 "same protocol, every core"
OK
> GET session:4821
"same protocol, every core"
> TAG.SET session:4821 tenant:acme   # 需要时可用的 HotKV 命令
(integer) 1

选择 Valkey 替代方案 的理由

团队为何寻找 Valkey 替代方案

促使团队寻找 Valkey 替代方案 的 Valkey 已记录属性,查阅于 2026年10月21日。

01

命令在单个线程上执行

Valkey 在单个主线程上执行命令。其 I/O 线程在套接字上读取、解析、轮询和写入。命令执行仍留在主线程上,因此要超越它扩展,就意味着更多实例或一个集群。这正是 Valkey 替代方案发挥价值的地方。

02

AI 工作负载需要额外的组件

Valkey 的向量搜索来自 valkey-search 模块。提示词缓存、语义缓存、智能体记忆和 LLM 成本跟踪不是服务器的一部分。它们必须另行构建或购买。内置这些功能的 Valkey 替代方案可以省下这些工作。

03

快照会 fork 进程

RDB 快照会 fork 一个子进程,因此在写入负载下运行快照时内存会上升。Valkey 9.2 候选发布版增加了可选启用的无 fork 快照。

04

运维工具在服务器之外

Prometheus 指标需要导出器。在 Valkey 9.1 中,热点键检测是 valkey-cli 的客户端选项。9.2 候选发布版增加了服务端 HOTKEYS 命令。

实测,而非宣称

这款 Valkey 替代方案 的实测结果。HotKV 对比 Valkey 9.1.2,在同一台机器上

HotKV Ltd 在同一台 160 vCPU 的机器上,以单实例的形式逐一运行了 HotKV 和 Valkey 9.1.2。每一个都获得相同的负载和全部核心。HotKV Ltd 公开了每一个数字以及方法和原始数据。

12 共 12 个
在与 Valkey 的对比中 HotKV 测得最高吞吐量的命令数
8.6x 至 56.6x
HotKV 的吞吐量相对 Valkey 的倍数,覆盖其领先的 12 个命令(MGET 至 SADD)
无
Valkey 测得更高的命令

HotKV Ltd 针对该 CPU 从源码构建了 HotKV。Valkey 以其原版发布构建运行。两者均以单实例运行。线程数遵循各产品记录的全核心设置,未针对单个产品调优。在核心较少的机器上差距较小。

SET17.5x
HotKV
50.5M*
Valkey
2.9M
GET22.5x
HotKV
36.6M*
Valkey
1.6M
MGET8.6x
HotKV
4.6M*
Valkey
537K
SETNX29.7x
HotKV
55.3M*
Valkey
1.9M
APPEND19.4x
HotKV
25.1M
Valkey
1.3M
INCR47.3x
HotKV
90.8M
Valkey
1.9M
LPUSH37.5x
HotKV
31.6M
Valkey
842K
RPUSH49.8x
HotKV
43.8M
Valkey
878K
SADD56.6x
HotKV
50.6M*
Valkey
894K
HSET37.1x
HotKV
29.0M*
Valkey
782K
MSET24.3x
HotKV
11.3M
Valkey
465K
PING36.0x
HotKV
125.2M†
Valkey
3.5M

每秒操作数,3 次 10 秒运行的中位数。每对柱形按该命令上较快的服务器缩放。

* 受网络限制: 此结果由实例的网络决定,服务器自身的上限更高。

† 受负载生成器限制: 负载生成器机器的 CPU 占用超过 85%,因此这是它们的上限,而非服务器的上限。

Azure D160alds_v7(AMD EPYC 9V45 (Turin),160 个 vCPU),测量于 2026年10月9日。256 字节的值,管道深度 30,预填充 5,000,000 个键并均匀随机读取。三台专用负载生成器机器。每台服务器都以单实例单独运行,并关闭持久化。每一个都获得全部核心(Redis 为 128 个 I/O 线程,即其最大值)。HotKV Ltd 针对该 CPU 从源码构建了 HotKV,并以原版发布构建运行 Valkey。 完整方法与结果 · 测试工具与原始数据

并排对比

这款 Valkey 替代方案 与 Valkey 的逐项功能对比

功能HotKVValkey
命令执行多线程。每个核心都在同一个共享存储上读取、解析并执行命令单个主线程。I/O 线程在套接字上读取、解析、轮询和写入
协议RESP2 和 RESP3,支持 HELLO 协商。向客户端报告 Redis 版本 8.4.0RESP2 和 RESP3
开发语言C++20,从零构建C
许可证商业许可(HotKV Cloud,或本地部署许可证)BSD-3-Clause
持久化快照和 AOFRDB 和 AOF
无 fork 快照是。由后台线程写入快照,不 fork 子进程9.2 候选发布版中可选启用
向量相似度搜索内置(HNSW、VSIM.*),所有套餐模块(valkey-search)
LLM 提示词缓存与语义缓存内置(PCACHE.*、SCACHE.*),HotKV Cloud 上 Performance 及以上套餐否
AI 智能体记忆内置(AMEM.*),HotKV Cloud 上 Performance 及以上套餐否
LLM 令牌与成本跟踪内置(LLMBUDGET.*、LLMSTATS.*),HotKV Cloud 上 Performance 及以上套餐否
Prometheus 端点内置。设置 metrics-port 后,服务器自行提供 /metrics(本地部署)独立的导出器
热点键检测服务端(HOTKEYS),可选启用9.1 中为客户端(valkey-cli --hotkeys)。9.2 候选发布版中为服务端 HOTKEYS
键标签是(TAG.*)否
纳秒级 TTL是(NEXPIRE、NTTL)否。毫秒级 TTL
服务器平台Linux(x86_64 和 ARM64)Linux、macOS、BSD
部署方式HotKV Cloud(Google Cloud,42 个区域)或凭许可证本地部署自行管理或由云服务商托管

公平起见

Valkey 领先于这款 Valkey 替代方案 或仅仅有所不同之处

这个 Valkey 替代方案 页面只有在也说明这部分时才有用。

  • Valkey 以 BSD-3-Clause 许可证开源,可免费使用,由 Linux Foundation 治理。HotKV 是商业的 Valkey 替代方案。
  • 多家云服务商将 Valkey 作为托管引擎提供,包括 Amazon ElastiCache 和 Google Cloud Memorystore。HotKV Cloud 运行在 Google Cloud 上,处于抢先体验阶段。
  • Valkey 可在 Linux、macOS 和 BSD 上运行。HotKV 服务器构建仅支持 Linux(x86_64 和 ARM64)。
  • 在 PING 上,HotKV 的数值受限于负载生成器,它们的 CPU 使用率达到 86%,因此该数值是下限。HotKV 的 GET 用到了出站网络上限的 100%,同样是下限。Valkey 在任何命令上都未触及这两个限制。

迁移过来

从 Valkey 到这款 Valkey 替代方案 的四个步骤

切换到 Valkey 替代方案 在实践中涉及的内容。

  1. 1

    创建实例

    在 HotKV Cloud 控制台中选择区域和套餐。该实例是一台独立的机器,由我们为您开通、打补丁和监控。

  2. 2

    将客户端指向它

    继续使用您现有的客户端库。将主机、端口和凭据从 Valkey 改为 HotKV 实例。TLS 和密码认证从一开始就启用,并提供 ACL 用户。使用相同协议的 Valkey 替代方案,在核心命令上无需改动客户端。

  3. 3

    迁移数据

    使用您已经熟悉的工具。DUMP 和 RESTORE、MIGRATE,或重放您的写入操作都可行,因为 HotKV 实现了这些命令。

  4. 4

    开启此前缺少的功能

    向量搜索和键标签是所有套餐上的核心命令。提示词缓存和语义缓存、智能体记忆以及 LLM 成本跟踪,在 Performance 及以上套餐上是同一服务器的命令。无需模块、边车或第二个服务。这正是 Valkey 替代方案应当补上的部分。

常见问题

关于这款 Valkey 替代方案 的问题

Valkey 客户端能与这款 Valkey 替代方案配合使用吗?

可以。Valkey 客户端使用 RESP2 和 RESP3,这正是 HotKV 所实现的。valkey-cli、集群感知客户端和 GUI 工具无需改动代码即可连接并使用核心命令。

在基准测试中 HotKV 与 Valkey 相比如何?

在一台拥有 160 个 vCPU 的 Azure D160alds_v7 上,以单实例运行,在与 Valkey 9.1.2 的对比中,HotKV 在全部 12 个命令上都录得最高的中位吞吐量。倍数从 MGET 上的至少 9 倍到 SADD 上的至少 57 倍。两者都获得了全部核心。Valkey 的核心用作 I/O 线程,因为它在单个线程上执行命令。

Valkey 是免费的。为什么要为 Valkey 替代方案付费?

您付费购买的是引擎及其附带的功能。所有套餐上的多线程执行、向量搜索、键标签和纳秒级 TTL。从 Performance 套餐起的 AI 缓存和智能体记忆。在 HotKV Cloud 上,每个实例一台专属机器。如果一个单线程的免费服务器能满足您的负载,Valkey 是一个不错的选择。

我可以在自己的云账号中运行 HotKV 吗?

可以。HotKV On-Premise 让这个 Valkey 替代方案凭许可证在您自己的服务器或云账号中运行,包括物理隔离网络。

用您已有的客户端来测试这款 Valkey 替代方案

HotKV Cloud 正在分批开放。这个 Valkey 替代方案 的每个实例都是一台搭载多线程引擎的专属机器。AI 命令族随 Performance 和 Scale 套餐提供。