Article summary — original
Cloudflare Introduces Workers KV Instant Powered by Quicksilver
Cloudflare has announced Workers KV Instant in private beta, bringing its internal Quicksilver key-value technology to customers for sub-two-millisecond p99 read latencies and rapid global replication.
Workers KV Instant utilizes Cloudflare's Quicksilver v2 to deliver p99 read latencies under 2 ms and edge write replication around 250 ms without cold read penalties.
The service targets read-heavy, low-frequency configuration workloads, imposing a limit of 1 MB and up to 10,000 key-value pairs per namespace.
Pricing reduces read costs by 60% compared to standard Workers KV, balanced by significantly higher storage rates and Class A operation fees alongside a write limit of one update per namespace per second.
Quicksilver-Powered Latency and Replication
Workers KV Instant adopts the architecture of Quicksilver v2, Cloudflare's internal globally distributed key-value store. This mode provides p99 read latencies of 1.62 ms across all reads—over 100 times faster than classic Workers KV—with p95 read times measured in microseconds. Writes propagate globally without relying on TTL expiration, achieving median replication in 107 ms and reaching 99% of edge locations within approximately 256 ms.
API Behaviors and Operational Limits
While operating on the standard Workers KV API, KV Instant alters several binding behaviors, including returning null for getWithMetadata calls and omitting metadata support in put requests. To manage global state consistency through a single system of record, write frequency is capped at one write per namespace per second. Each namespace supports up to 10,000 keys, with keys restricted to 300 bytes and total namespace capacity capped at 1 MB.
Pricing and Target Workloads
The pricing structure reflects the requirements of small, highly read configuration datasets. Class B reads cost $0.20 per million—60% less than standard Workers KV. In contrast, data storage costs $100 per MB per month, and Class A operations (put, delete, and list) are billed at $0.10 per individual request, making standard Workers KV more economical for high-volume storage or frequent write scenarios.
Saved original article
Today, we’re introducing Workers KV Instant, a new mode for Workers KV that pushes your changes globally for instant availability without cold read penalties.
[Workers KV](https://developers.cloudflare.com/kv/) has been one of our most popular services on the Developer Platform since [launching during Birthday Week in 2018](https://blog.cloudflare.com/introducing-workers-kv/). It’s great for quickly accessing data like static assets and user configuration that is written occasionally but read frequently. We use it ourselves across many Cloudflare products.
We also have another key-value store, Quicksilver, which we’ve [blogged about](https://blog.cloudflare.com/quicksilver-v2-evolution-of-a-globally-distributed-key-value-store-part-1/) many times since [introducing it in 2020](https://blog.cloudflare.com/introducing-quicksilver-configuration-distribution-at-internet-scale/). We designed Quicksilver for incredibly fast global replication and low-latency access, and nearly every request to Cloudflare looks up at least one key in Quicksilver. People have asked us for years, but we’ve never made Quicksilver available to our customers.
We’re changing that today with Workers KV Instant. KV Instant mode provides the same API as Workers KV, but powers it using Quicksilver. KV Instant offers 100 times faster p99 reads and immediate updates, with no need to wait for a TTL to expire. It’s not for every type of data, but, for infrequently updated application configuration data — the same thing we use Quicksilver for ourselves — KV Instant shines.
KV Instant offers read latency that is over 100 times faster than classic mode, with reads resolving in under two milliseconds even at the 99th percentile of response time (p99), and 95th percentile (p95) times measured in microseconds. Writes are pushed to the edge over 20 times faster, with 99% of all writes replicating in around 250ms.
These high-performance characteristics of KV Instant make it ideal for reading data in the hot path of your applications, especially flags and settings that should be available globally nearly instantly after they’ve been written.
| **Mode** | **p99 reads (cached)** | **p99 reads (all)** | **median write replication** | **p95 write replication** | **p99 write replication** |
| Instant | N/A | 1.62 ms | 107 ms <sup>(1)</sup> | 181ms <sup>(1)</sup> | 256 ms <sup>(1)</sup> |
| Classic | 160 ms | 287 ms | \< 1 s <sup>(2, 3)</sup> | \< 1 s <sup>(2, 3)</sup> | 4.38 s <sup>(2)</sup> |
*Table notes:*
KV Instant is powered by [Quicksilver v2](https://blog.cloudflare.com/quicksilver-v2-evolution-of-a-globally-distributed-key-value-store-part-1/), a key-value store developed internally by Cloudflare to enable fast global replication and low-latency access on a planet scale.
KV Instant uses the familiar [Workers KV API](https://developers.cloudflare.com/kv/api/) you build with today.
For example, let’s say you’re working on a big product launch, and need to be able to switch what’s on the homepage right at 10:13 AM when the product is introduced at the keynote on stage. You need some key that you can read, that introduces near zero latency, you can read on every request no matter the scale, and updates instantly when you change it.
Most binding operations are compatible with the Workers KV classic equivalents. There are three key differences when working with KV Instant:
`”mode”`: `“instant”` attribute)`getWithMetadata` calls always return `null` and there is no support for passing metadata in `put`.`list` operations in KV Instant return For additional API examples, see [the Workers KV docs](https://developers.cloudflare.com/kv/api/read-key-value-pairs/).
KV Instant is priced to fit the read-heavy, small data workloads it excels at serving. Because we propagate data to every Cloudflare location, using the same [Quicksilver](https://blog.cloudflare.com/quicksilver-v2-evolution-of-a-globally-distributed-key-value-store-part-1/) key-value store we’ve spent years learning how to operate at scale on the hot path of every request, we can offer pricing for reads that is 60% less than Workers KV, and much less than other global configuration products.
Conversely, storage and Class A operations are significantly more expensive than Workers KV. If you need to store large amounts of data, or update it frequently, Workers KV continues to be a great fit. Each mode is designed for a very different type of data and access pattern.
KV Instant namespaces are priced in three dimensions: data storage, class A operations, and class B operations.
| | **Class B operations (reads)** | **Class A operations (put, delete, list)** | **Storage** |
| **Workers KV Instant** | $0.20 per million | $0.10 per operation | $100 per MB, per month |
| **Workers KV** | $0.50 per million | $5.00 per million | $0.50 per GB, per month |
**Storage**
Storage is billed at $100 per MB, per month. Each key can be up to 300 bytes, and values can be any size that does not cause the namespace to exceed one megabyte in total size. KV Instant namespaces can contain up to 10,000 key value pairs of any type.
**Class A operations**
Class A operations (`put`, `delete`, and `list`) are charged at $0.10 per operation. Each key written or deleted counts as one Class A operation. Each list request counts as one Class A operation, *regardless of how many keys are returned in the response.* A single `list` operation can return all the key value pairs in a namespace in a single page.
Because writes must pass through a single system of record, KV Instant also restricts write frequency to one write per namespace per second. This is similar to classic Workers KV’s restriction of one write per key per second, and makes it easier for you to reason about update order in your application.
**Class B operations**
Class B operations (`get`) are charged at $0.20 per million keys requested, 60% **cheaper** than Workers KV default mode. When requesting multiple keys in a single `get` operation, each requested key is billed as one class B operation. For example, the following approaches both incur three class B operations and are equivalent from a billing perspective.
KV Instant is launching today in private beta. We’re excited to start working with customers who want to try it, then open it up more widely, and would love to hear from you. You can sign up for the private beta [here](https://www.cloudflare.com/resource/workers-kv-instant-beta/). Tell us what you’re building!