Cloudflare 最近首次向客户开放 Quicksilver,将其作为 Workers KV 的一种新模式,名为 KV Instant。其读取延迟在第 99 百分位为 1.62 毫秒,而经典 KV 为 287 毫秒。但决定团队能否使用它的,不是延迟,而是它的使用限制。
Quicksilver 是 Cloudflare 自己的配置存储系统,于 2020 年推出。Rob Sutter 写道,几乎每个发往 Cloudflare 的请求都会从中查询至少一个键,但它此前从未作为面向客户的产品提供。Cloudflare 开发者平台团队的 Brendan Irvine-Broque 在 X 上宣布了这一变化:
我们在 Cloudflare 有一个性能惊人的键值存储,叫 Quicksilver。
它能即时将键的更新传播到我们的整个网络,在每个地点都能实现微秒级读取,快得离谱。
多年来,客户一直希望我们开放它。
我们终于做到了,而且采用了一种我们认为相当简单的方式:将它作为 Workers KV 的一种新模式。
以下公布的数据是在 300 多个边缘地点测得的:
Cloudflare 指出,它无法以亚秒级精度测量经典模式的复制延迟,因此经典模式的中位数和 p95 数据是上界,而非测量值。据报告,Instant 模式的 p95 读取延迟为微秒级。
它使用 Workers KV 的 API,但有三处区别。模式在创建命名空间时通过 "mode": "instant" 属性设定,此后无法更改。它不支持元数据,因此 getWithMetadata 始终返回 null。此外,list 会返回所有匹配的键,不进行分页。
接下来是限制。一个命名空间最多容纳 10000 个键值对,总容量不超过 1 MB,键最长为 300 字节。写入上限是每个命名空间每秒一次;相比之下,经典 KV 是每个键每秒一次。Cloudflare 认为,单一的记录来源“让你更容易推断应用中的更新顺序”。这一差异最可能让迁移团队措手不及:经典 KV 允许同时写入多个键的模式,在这里会变成一条串行队列。
定价也指向同样的使用场景。Cloudflare 坦言:“存储和 A 类操作的价格明显高于 Workers KV。”

读取成本降低了 60%。一次写入的费用为 10 美分,而经典模式是每百万次写入 5 美元。存储费用为每 MB 每月 100 美元;由于一个命名空间的容量上限是 1 MB,这也是单个命名空间的存储费用上限。多键读取按键计费,因此一次 get 请求三个键,与分别请求三次一样,都按三次 B 类操作收费。
Irvine-Broque 在同一讨论串中解释了背后的考虑:
就像我们自己使用 Quicksilver 一样,它适合存放经常读取、很少更新的小规模数据。
定价也反映了这一点:读取成本甚至比 Workers KV 低 60%。
他补充说,写入之所以有这样的价格,是因为写入一个键就要将其复制到数百个地点。这种存储的定价方式,就是为了让用户频繁读取、很少写入。
同样在 X 上,Benjie Malinao 对其适用场景的判断也类似:
这正是智能体需要的配置存储。同一套 KV API,读取延迟 p99 低于 2 毫秒,全球写入在 p99 时约四分之一秒完成。功能开关和智能体设置不必再等待 TTL 到期。我会先把关键路径上的配置迁过去。
功能开关、路由表和智能体设置符合这种模式。会话状态、用户记录以及任何需要频繁写入的数据则不适合。
从业者想到的比较对象是 Vercel。开发者 Shawn Mclean 直接问 Irvine-Broque:
我正在考虑用 Vercel Global Config 供中间件读取。他们声称延迟为 15 毫秒。如果把工作负载迁到 Cloudflare,你的意思是,我能在中间件中以 2 毫秒读取平台租户的域名映射吗?
回答并没有完全确认这一点:
即使是两年前 Workers KV(非 Instant)的 p50,也约为 5 毫秒。KV Instant 比它还快(见文章中的数据)。
Cloudflare 自己举的例子是:每个请求都读取一个发布开关,并在主题演讲期间切换它。这恰好就是它面向的工作负载:一个键、一次写入,随后立即在各地读取。
2018 年 Birthday Week 期间推出的经典 Workers KV,仍是存储大规模或频繁更新数据时的推荐选择。两种模式现在共用一套 API,但成本结构截然相反。
KV Instant 目前处于邀请注册的私有测试阶段,Cloudflare 表示计划扩大开放范围,但尚未公布正式发布的日期。





