diff --git a/src/content/apps/index.yaml b/src/content/apps/index.yaml
index d2b31c02269c81..9288021e2dde9b 100644
--- a/src/content/apps/index.yaml
+++ b/src/content/apps/index.yaml
@@ -70,9 +70,9 @@ entries:
updated: 2024-06-17
- link: https://github.com/craigsdennis/shorty-dot-dev
name: shrty.dev
- description: A URL shortener that makes use of KV and Workers Analytics Engine. The admin interface uses Function Calling. Go Shorty!
+ description: A URL shortener that makes use of Workers KV and Workers Analytics Engine. The admin interface uses Function Calling. Go Shorty!
tags: [AI, Hono]
- products: [Workers AI, KV, Workers]
+ products: [Workers AI, Workers KV, Workers]
languages: [TypeScript]
cloudflare: true
updated: 2024-07-02
@@ -200,7 +200,7 @@ entries:
name: Queues Web Crawler
description: An example use-case for Queues, a web crawler built on Browser Rendering and Puppeteer. The crawler finds the number of links to Cloudflare.com on the site, and archives a screenshot to Workers KV.
tags: []
- products: [KV, Browser Rendering, Workers, Pages, Queues]
+ products: [Workers KV, Browser Rendering, Workers, Pages, Queues]
languages: [TypeScript]
cloudflare: true
updated: 2023-06-15
@@ -303,9 +303,9 @@ entries:
updated: 2024-08-12
- link: https://github.com/atinux/atinotes
name: Atinotes
- description: Store Markdown notes in Cloudflare KV with this full-stack application made with Nuxt & deployed on Cloudflare Pages.
+ description: Store Markdown notes in Cloudflare Workers KV with this full-stack application made with Nuxt & deployed on Cloudflare Pages.
tags: [Nuxt]
- products: [Pages, KV]
+ products: [Pages, Workers KV]
languages: [TypeScript]
cloudflare: false
updated: 2024-08-12
diff --git a/src/content/changelogs/kv.yaml b/src/content/changelogs/kv.yaml
index 6ff47e6cad508c..25236b91185786 100644
--- a/src/content/changelogs/kv.yaml
+++ b/src/content/changelogs/kv.yaml
@@ -21,7 +21,7 @@ entries:
The unsuccessful keys are an array of keys that were not written successfully to all storage backends and therefore should be retried.
- publish_date: "2024-08-08"
- title: New KV Analytics API
+ title: New Workers KV Analytics API
description: |-
Workers KV now has a new [metrics dashboard](/kv/observability/metrics-analytics/#view-metrics-in-the-dashboard) and [analytics API](/kv/observability/metrics-analytics/#query-via-the-graphql-api) that leverages the [GraphQL Analytics API](/analytics/graphql-api/) used by many other Cloudflare products. The new analytics API provides per-account and per-namespace metrics for both operations and storage, including latency metrics for read and write operations to Workers KV.
diff --git a/src/content/docs/browser-rendering/get-started/screenshots.mdx b/src/content/docs/browser-rendering/get-started/screenshots.mdx
index 3144643e97565f..2fc599a9ee54ba 100644
--- a/src/content/docs/browser-rendering/get-started/screenshots.mdx
+++ b/src/content/docs/browser-rendering/get-started/screenshots.mdx
@@ -41,11 +41,11 @@ In your `browser-worker` directory, install Cloudflare’s [fork of Puppeteer](/
npm install @cloudflare/puppeteer --save-dev
```
-## 3. Create a KV namespace
+## 3. Create a Workers KV namespace
Browser Rendering can be used with other developer products. You might need a [relational database](/d1/), an [R2 bucket](/r2/) to archive your crawled pages and assets, a [Durable Object](/durable-objects/) to keep your browser instance alive and share it with multiple requests, or [Queues](/queues/) to handle your jobs asynchronous.
-For the purpose of this guide, you are going to use a [KV store](/kv/concepts/kv-namespaces/) to cache your screenshots.
+For the purpose of this guide, you are going to use [Workers KV](/kv/concepts/kv-namespaces/) to cache your screenshots.
Create two namespaces, one for production, and one for development.
@@ -60,7 +60,7 @@ Take note of the IDs for the next step.
Configure your `browser-worker` project's [`wrangler.toml`](/workers/wrangler/configuration/) file by adding a browser [binding](/workers/runtime-apis/bindings/) and a [Node.js compatibility flag](/workers/configuration/compatibility-flags/#nodejs-compatibility-flag). Bindings allow your Workers to interact with resources on the Cloudflare developer platform. Your browser `binding` name is set by you, this guide uses the name `MYBROWSER`. Browser bindings allow for communication between a Worker and a headless browser which allows you to do actions such as taking a screenshot, generating a PDF and more.
-Update your `wrangler.toml` configuration file with the Browser Rendering API binding and the KV namespaces you created:
+Update your `wrangler.toml` configuration file with the Browser Rendering API binding and the Workers KV namespaces you created:
```toml
name = "browser-worker"
@@ -157,9 +157,9 @@ export default {
This Worker instantiates a browser using Puppeteer, opens a new page, navigates to what you put in the `"url"` parameter, takes a screenshot of the page, stores the screenshot in KV, closes the browser, and responds with the JPEG image of the screenshot.
-If your Worker is running in production, it will store the screenshot to the production KV namespace. If you are running `wrangler dev`, it will store the screenshot to the dev KV namespace.
+If your Worker is running in production, it will store the screenshot to the production Workers KV namespace. If you are running `wrangler dev`, it will store the screenshot to the dev Workers KV namespace.
-If the same `"url"` is requested again, it will use the cached version in KV instead, unless it expired.
+If the same `"url"` is requested again, it will use the cached version in Workers KV instead, unless it expired.
## 6. Test
diff --git a/src/content/docs/cloudflare-one/policies/access/external-evaluation.mdx b/src/content/docs/cloudflare-one/policies/access/external-evaluation.mdx
index ebdf8c6d533552..48d2d6f26e7075 100644
--- a/src/content/docs/cloudflare-one/policies/access/external-evaluation.mdx
+++ b/src/content/docs/cloudflare-one/policies/access/external-evaluation.mdx
@@ -45,7 +45,7 @@ You can set up External Evaluation rules using any API service, but to get start
npx wrangler kv namespace create "KV"
```
- The command will output the binding name and KV namespace ID, for example
+ The command will output the binding name and Workers KV namespace ID, for example
```txt
[[kv_namespaces]]
diff --git a/src/content/docs/d1/platform/limits.mdx b/src/content/docs/d1/platform/limits.mdx
index 4590bd26b78f1e..876d1957045ae9 100644
--- a/src/content/docs/d1/platform/limits.mdx
+++ b/src/content/docs/d1/platform/limits.mdx
@@ -33,7 +33,7 @@ Limits for individual queries (listed above) apply to each individual statement
[^1]: The maximum storage per account can be increased by request on Workers Paid and Enterprise plans. See the guidance on limit increases on this page to request an increase.
-[^2]: A single Worker script can have up to 1 MB of script metadata. A binding is defined as a binding to a resource, such as a D1 database, KV namespace, environmental variable or secret. Each resource binding is approximately 150-bytes, however environmental variables and secrets are controlled by the size of the value you provide. Excluding environmental variables, you can bind up to \~5,000 D1 databases to a single Worker script.
+[^2]: A single Worker script can have up to 1 MB of script metadata. A binding is defined as a binding to a resource, such as a D1 database, Workers KV namespace, environmental variable or secret. Each resource binding is approximately 150-bytes, however environmental variables and secrets are controlled by the size of the value you provide. Excluding environmental variables, you can bind up to \~5,000 D1 databases to a single Worker script.
[^3]: Requests to Cloudflare API must resolve in 30 seconds. Therefore, this duration limit also applies to the entire batch call.
diff --git a/src/content/docs/d1/reference/community-projects.mdx b/src/content/docs/d1/reference/community-projects.mdx
index 10bb8c4bee855b..3bd85a8c2c0c52 100644
--- a/src/content/docs/d1/reference/community-projects.mdx
+++ b/src/content/docs/d1/reference/community-projects.mdx
@@ -88,7 +88,7 @@ Instead of running the `wrangler d1 execute` command in your terminal every time
### L1
-`L1` is a package that brings some Cloudflare Worker ecosystem bindings into PHP and Laravel via the Cloudflare API. It provides interaction with D1 via PDO, KV and Queues, with more services to add in the future, making PHP integration with Cloudflare a real breeze.
+`L1` is a package that brings some Cloudflare Worker ecosystem bindings into PHP and Laravel via the Cloudflare API. It provides interaction with D1 via PDO, Workers KV and Queues, with more services to add in the future, making PHP integration with Cloudflare a real breeze.
* [GitHub](https://github.com/renoki-co/l1)
* [Packagist](https://packagist.org/packages/renoki-co/l1)
@@ -102,7 +102,7 @@ Staff Directory is a demo project using D1, [HonoX](https://github.com/honojs/ho
### NuxtHub
-`NuxtHub` is a Nuxt module that brings Cloudflare Worker bindings into your Nuxt application with no configuration. It leverages the [Wrangler Platform Proxy](/workers/wrangler/api/#getplatformproxy) in development and direct binding in production to interact with [D1](/d1/), [KV](/kv/) and [R2](/r2/) with server composables (`hubDatabase()`, `hubKV()` and `hubBlob()`).
+`NuxtHub` is a Nuxt module that brings Cloudflare Worker bindings into your Nuxt application with no configuration. It leverages the [Wrangler Platform Proxy](/workers/wrangler/api/#getplatformproxy) in development and direct binding in production to interact with [D1](/d1/), [Workers KV](/kv/) and [R2](/r2/) with server composables (`hubDatabase()`, `hubKV()` and `hubBlob()`).
`NuxtHub` also provides a way to use your remote D1 database in development using the `npx nuxt dev --remote` command.
diff --git a/src/content/docs/d1/tutorials/build-a-comments-api/index.mdx b/src/content/docs/d1/tutorials/build-a-comments-api/index.mdx
index 113e93918017b1..5abd55ecdd686f 100644
--- a/src/content/docs/d1/tutorials/build-a-comments-api/index.mdx
+++ b/src/content/docs/d1/tutorials/build-a-comments-api/index.mdx
@@ -88,7 +88,7 @@ You will now create a D1 database. In Wrangler v2, there is support for the `wra
npx wrangler d1 create d1-example
```
-Reference your created database in your Worker code by creating a [binding](/workers/runtime-apis/bindings/) inside of your `wrangler.toml` file, Wrangler's configuration file. Bindings allow us to access Cloudflare resources, like D1 databases, KV namespaces, and R2 buckets, using a variable name in code. In `wrangler.toml`, set up the binding `DB` and connect it to the `database_name` and `database_id`:
+Reference your created database in your Worker code by creating a [binding](/workers/runtime-apis/bindings/) inside of your `wrangler.toml` file, Wrangler's configuration file. Bindings allow us to access Cloudflare resources, like D1 databases, Workers KV namespaces, and R2 buckets, using a variable name in code. In `wrangler.toml`, set up the binding `DB` and connect it to the `database_name` and `database_id`:
```toml
[[ d1_databases ]]
diff --git a/src/content/docs/d1/tutorials/build-a-staff-directory-app/index.mdx b/src/content/docs/d1/tutorials/build-a-staff-directory-app/index.mdx
index 9b3c7de7c0daed..712aadb4a68fc6 100644
--- a/src/content/docs/d1/tutorials/build-a-staff-directory-app/index.mdx
+++ b/src/content/docs/d1/tutorials/build-a-staff-directory-app/index.mdx
@@ -70,7 +70,7 @@ npx wrangler d1 create staff-directory
After creating your database, you will need to set up a [binding](/workers/runtime-apis/bindings/) in the Wrangler configuration file to integrate your database with your application.
-This binding enables your application to interact with Cloudflare resources such as D1 databases, KV namespaces, and R2 buckets. To configure this, create a `wrangler.toml` file in your project's root directory and input the basic setup information:
+This binding enables your application to interact with Cloudflare resources such as D1 databases, Workers KV namespaces, and R2 buckets. To configure this, create a `wrangler.toml` file in your project's root directory and input the basic setup information:
```toml
name = "staff-directory"
diff --git a/src/content/docs/data-localization/compatibility.mdx b/src/content/docs/data-localization/compatibility.mdx
index c238945185342e..9ce01981b0ab47 100644
--- a/src/content/docs/data-localization/compatibility.mdx
+++ b/src/content/docs/data-localization/compatibility.mdx
@@ -139,6 +139,6 @@ The table below provides a summary of the Data Localization Suite product's beha
[^31]: DLP is part of Gateway HTTP, however, [DLP datasets](/cloudflare-one/policies/data-loss-prevention/datasets/#use-dlp-datasets) are not available outside US region when using Customer Metadata Boundary.
[^32]: Dashboard Analytics are empty when using CMB outside the US region. Use Logpush instead.
[^33]: [Outgoing zone transfers](/dns/zone-setups/zone-transfers/cloudflare-as-primary/) will carry Earth region proxy IPs, thus making regional service dysfunctional when non-Cloudflare nameservers respond to the DNS queries.
-[^34]: Jurisdictional Restrictions (storage) for Workers KV pairs is not supported today.
+[^34]: Jurisdictional Restrictions (storage) for Workers KV is not supported today.
[^35]: Logs / Analytics not available outside US region when using Customer Metadata Boundary. Jurisdictional Restrictions (storage) options are not supported today.
[^36]: Only when using a [Custom Domain](/images/manage-images/serve-images/serve-from-custom-domains/) set to a region.
diff --git a/src/content/docs/dns/manage-dns-records/how-to/batch-record-changes.mdx b/src/content/docs/dns/manage-dns-records/how-to/batch-record-changes.mdx
index 47f73cddfd61bf..74a98bf52f77d4 100644
--- a/src/content/docs/dns/manage-dns-records/how-to/batch-record-changes.mdx
+++ b/src/content/docs/dns/manage-dns-records/how-to/batch-record-changes.mdx
@@ -10,7 +10,7 @@ import { GlossaryTooltip, Example, Render } from "~/components";
Cloudflare allows you to apply several changes to your zone records in just one action. You can [use the dashboard](#use-the-dashboard) to delete DNS records or update their proxy status in bulk, or [use the API](#use-the-api) to perform further batched operations.
:::caution[Propagation through the Cloudflare network]
-Although Cloudflare will execute the batched operations in a single [database transaction](https://en.wikipedia.org/wiki/Database_transaction), Cloudflare's distributed KV store must treat each record change as a single key-value pair. This means that the propagation of changes is not atomic. Refer to our [blog post](https://blog.cloudflare.com/batched-dns-changes/) for details.
+Although Cloudflare will execute the batched operations in a single [database transaction](https://en.wikipedia.org/wiki/Database_transaction), Cloudflare's distributed key-value store must treat each record change as a single key-value pair. This means that the propagation of changes is not atomic. Refer to our [blog post](https://blog.cloudflare.com/batched-dns-changes/) for details.
:::
## Availability and limits
@@ -91,7 +91,7 @@ Within each of these four lists, each individual action is executed following th
### Aspects to consider
:::caution[Propagation through the Cloudflare network]
-Although Cloudflare will execute the batched operations in a single [database transaction](https://en.wikipedia.org/wiki/Database_transaction), Cloudflare's distributed KV store must treat each record change as a single key-value pair. This means that the propagation of changes is not atomic. Refer to our [blog post](https://blog.cloudflare.com/batched-dns-changes/) for details.
+Although Cloudflare will execute the batched operations in a single [database transaction](https://en.wikipedia.org/wiki/Database_transaction), Cloudflare's distributed key-value store must treat each record change as a single key-value pair. This means that the propagation of changes is not atomic. Refer to our [blog post](https://blog.cloudflare.com/batched-dns-changes/) for details.
:::
For each operation that you list in the `/batch` request body, consider the required information and how unspecified fields will behave:
diff --git a/src/content/docs/durable-objects/api/sql-storage.mdx b/src/content/docs/durable-objects/api/sql-storage.mdx
index 293ea6c05e81dd..81085063c7a370 100644
--- a/src/content/docs/durable-objects/api/sql-storage.mdx
+++ b/src/content/docs/durable-objects/api/sql-storage.mdx
@@ -37,7 +37,7 @@ export class MyDurableObject extends DurableObject {
SQL API methods accessed with `ctx.storage.sql` are only allowed on [Durable Object classes with SQLite storage backend](/durable-objects/reference/durable-objects-migrations/#enable-sqlite-storage-backend-on-new-durable-object-class-migration) and will return an error if called on Durable Object classes with a key-value storage backend.
:::
-Specifically for Durable Object classes with SQLite storage backend, KV operations which were previously asynchronous (for example, [`get`](/durable-objects/api/storage-api/#get), [`put`](/durable-objects/api/storage-api/#put), [`delete`](/durable-objects/api/storage-api/#delete), [`deleteAll`](/durable-objects/api/storage-api/#deleteall), [`list`](/durable-objects/api/storage-api/#list)) are synchronous, even though they return promises. These methods will have completed their operations before they return the promise.
+Specifically for Durable Object classes with SQLite storage backend, key-value operations which were previously asynchronous (for example, [`get`](/durable-objects/api/storage-api/#get), [`put`](/durable-objects/api/storage-api/#put), [`delete`](/durable-objects/api/storage-api/#delete), [`deleteAll`](/durable-objects/api/storage-api/#deleteall), [`list`](/durable-objects/api/storage-api/#list)) are synchronous, even though they return promises. These methods will have completed their operations before they return the promise.
## Methods
diff --git a/src/content/docs/durable-objects/examples/use-kv-from-durable-objects.mdx b/src/content/docs/durable-objects/examples/use-kv-from-durable-objects.mdx
index 9206ffdc327f81..32974688b5a208 100644
--- a/src/content/docs/durable-objects/examples/use-kv-from-durable-objects.mdx
+++ b/src/content/docs/durable-objects/examples/use-kv-from-durable-objects.mdx
@@ -6,8 +6,8 @@ sidebar:
order: 20
head:
- tag: title
- content: Durable Objects - Use KV within Durable Objects
-description: Read and write to/from KV within a Durable Object
+ content: Durable Objects - Use Workers KV within Durable Objects
+description: Read and write to/from Workers KV within a Durable Object
---
@@ -17,7 +17,7 @@ The following Worker script shows you how to configure a `
- - The value for the requested KV pair. The response type will depend on the `type` parameter provided for the `get()` command as follows:
+ - The value for the requested key-value pair. The response type will depend on the `type` parameter provided for the `get()` command as follows:
- `text`: A `string` (default).
- `json`: An object decoded from a JSON string.
- `arrayBuffer`: An [`ArrayBuffer`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer) instance.
@@ -78,7 +78,7 @@ The `get()` method may return stale values. If a given key has recently been rea
### `getWithMetadata()` method
-To get the value for a given key along with its metadata, call the `getWithMetadata()` method on any KV namespace you have bound to your Worker code:
+To get the value for a given key along with its metadata, call the `getWithMetadata()` method on any Workers KV namespace you have bound to your Worker code:
```js
env.NAMESPACE.getWithMetadata(key, type?);
@@ -91,7 +91,7 @@ Metadata is a serializable value you append to each KV entry.
#### Parameters
- `key`: `string`
- - The key of the KV pair.
+ - The key of the key-value pair.
- `type`: `"text" | "json" | "arrayBuffer" | "stream"`
- Optional. The type of the value to be returned. `text` is the default.
- `options`: `{
@@ -107,7 +107,7 @@ value: string | Object | ArrayBuffer | ReadableStream | null,
metadata: string | null
}>`
- - An object containing the value and the metadata for the requested KV pair. The type of the value attribute will depend on the `type` parameter provided for the `getWithMetadata()` command as follows:
+ - An object containing the value and the metadata for the requested key-value pair. The type of the value attribute will depend on the `type` parameter provided for the `getWithMetadata()` command as follows:
- `text`: A `string` (default).
- `json`: An object decoded from a JSON string.
- `arrayBuffer`: An [`ArrayBuffer`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer) instance.
@@ -164,7 +164,7 @@ The `cacheTtl` parameter must be an integer greater than or equal to `60`, which
The effective `cacheTtl` of an already cached item can be reduced by getting it again with a lower `cacheTtl`. For example, if you did `NAMESPACE.get(key, {cacheTtl: 86400})` but later realized that caching for 24 hours was too long, you could `NAMESPACE.get(key, {cacheTtl: 300})` or even `NAMESPACE.get(key)` and it would check for newer data to respect the provided `cacheTtl`, which defaults to 60 seconds.
-## Other methods to access KV
+## Other methods to access Workers KV
You can [read key-value pairs from the command line with Wrangler](/kv/reference/kv-commands/#get) and [from the REST API](/api/operations/workers-kv-namespace-read-key-value-pair).
diff --git a/src/content/docs/kv/api/write-key-value-pairs.mdx b/src/content/docs/kv/api/write-key-value-pairs.mdx
index 753441be27353a..f47955b7936e1c 100644
--- a/src/content/docs/kv/api/write-key-value-pairs.mdx
+++ b/src/content/docs/kv/api/write-key-value-pairs.mdx
@@ -5,7 +5,7 @@ sidebar:
order: 5
---
-To create a new key-value pair, or to update the value for a particular key, call the `put()` method of the [KV binding](/kv/concepts/kv-bindings/) on any [KV namespace](/kv/concepts/kv-namespaces/) you have bound to your Worker code:
+To create a new key-value pair, or to update the value for a particular key, call the `put()` method of the [Workers KV binding](/kv/concepts/kv-bindings/) on any [Workers KV namespace](/kv/concepts/kv-namespaces/) you have bound to your Worker code:
```js
env.NAMESPACE.put(key, value);
@@ -33,13 +33,13 @@ export default {
## Reference
-The following method is provided to write to KV:
+The following method is provided to write to Workers KV:
- [put()](#put-method)
### `put()` method
-To create a new key-value pair, or to update the value for a particular key, call the `put()` method on any KV namespace you have bound to your Worker code:
+To create a new key-value pair, or to update the value for a particular key, call the `put()` method on any Workers KV namespace you have bound to your Worker code:
```js
env.NAMESPACE.put(key, value, options?);
@@ -74,27 +74,27 @@ The put() method returns a Promise that you should `await` on to verify a succes
### Concurrent writes to the same key
-Due to the eventually consistent nature of KV, concurrent writes to the same key can end up overwriting one another. It is a common pattern to write data from a single process with Wrangler or the API. This avoids competing concurrent writes because of the single stream. All data is still readily available within all Workers bound to the namespace.
+Due to the eventually consistent nature of Workers KV, concurrent writes to the same key can end up overwriting one another. It is a common pattern to write data from a single process with Wrangler or the API. This avoids competing concurrent writes because of the single stream. All data is still readily available within all Workers bound to the namespace.
If concurrent writes are made to the same key, the last write will take precedence.
Writes are immediately visible to other requests in the same global network location, but can take up to 60 seconds (or the value of the `cacheTtl` parameter of the `get()` or `getWithMetadata()` methods) to be visible in other parts of the world.
-Refer to [How KV works](/kv/concepts/how-kv-works/) for more information on this topic.
+Refer to [How Workers KV works](/kv/concepts/how-kv-works/) for more information on this topic.
### Write data in bulk
Write more than one key-value pair at a time with Wrangler or [via the REST API](/api/operations/workers-kv-namespace-write-multiple-key-value-pairs).
-The bulk API can accept up to 10,000 KV pairs at once.
+The bulk API can accept up to 10,000 key-value pairs at once.
-A `key` and a `value` are required for each KV pair. The entire request size must be less than 100 megabytes. Bulk writes are not supported using the [KV binding](/kv/concepts/kv-bindings/).
+A `key` and a `value` are required for each key-value pair. The entire request size must be less than 100 megabytes. Bulk writes are not supported using the [Workers KV binding](/kv/concepts/kv-bindings/).
### Expiring keys
KV offers the ability to create keys that automatically expire. You may configure expiration to occur either at a particular point in time, or after a certain amount of time has passed since the key was last modified.
-Once the expiration time of an expiring key is reached, it will be deleted from the system. After its deletion, attempts to read the key will behave as if the key does not exist. The deleted key will not count against the KV namespace’s storage usage for billing purposes.
+Once the expiration time of an expiring key is reached, it will be deleted from the system. After its deletion, attempts to read the key will behave as if the key does not exist. The deleted key will not count against the Workers KV namespace’s storage usage for billing purposes.
:::note
@@ -268,6 +268,6 @@ async function retryWithBackoff(
}
```
-## Other methods to access KV
+## Other methods to access Workers KV
You can also [write key-value pairs from the command line with Wrangler](/kv/reference/kv-commands/#create) and [write data via the REST API](/api/operations/workers-kv-namespace-write-key-value-pair-with-metadata).
diff --git a/src/content/docs/kv/concepts/how-kv-works.mdx b/src/content/docs/kv/concepts/how-kv-works.mdx
index 6b2611b8f76f40..38eaadaadc3100 100644
--- a/src/content/docs/kv/concepts/how-kv-works.mdx
+++ b/src/content/docs/kv/concepts/how-kv-works.mdx
@@ -1,21 +1,21 @@
---
pcx_content_type: concept
-title: How KV works
+title: How Workers KV works
sidebar:
order: 6
---
-KV is a global, low-latency, key-value data store. It stores data in a small number of centralized data centers, then caches that data in Cloudflare's data centers after access.
+Workers KV is a global, low-latency, key-value data store. It stores data in a small number of centralized data centers, then caches that data in Cloudflare's data centers after access.
-KV supports exceptionally high read volumes with low latency, making it possible to build highly dynamic APIs.
+Workers KV supports exceptionally high read volumes with low latency, making it possible to build highly dynamic APIs.
While reads are periodically revalidated in the background, requests which are not in cache and need to hit the centralized back end can experience high latencies.
-## Write data to KV and read data from KV
+## Write data to Workers KV and read data from Workers KV
-When you write to KV, your data is written to central data stores. Your data is not sent automatically to every location’s cache.
+When you write to Workers KV, your data is written to central data stores. Your data is not sent automatically to every location’s cache.
-
+
Initial reads from a location do not have a cached value. Data must be read from the nearest regional tier, followed by a central tier, degrading finally to the central stores for a truly cold global read. While the first access is slow globally, subsequent requests are faster, especially if requests are concentrated in a single region.
@@ -26,39 +26,38 @@ A hot read means that the data is cached on Cloudflare's edge network using the

-Frequent reads from the same location return the cached value without reading from anywhere else, resulting in the fastest response times. KV operates diligently to keep the latest value in the cache by refreshing from upper tiers and the central data stores in the background.
+Frequent reads from the same location return the cached value without reading from anywhere else, resulting in the fastest response times. Workers KV operates diligently to keep the latest value in the cache by refreshing from upper tiers and the central data stores in the background.
Refreshing from upper tiers and the central data stores in the background is done carefully so that assets that are being accessed continue to be kept served from the cache without any stalls.

-KV is optimized for high-read applications. It stores data centrally and uses a hybrid push/pull-based replication to store data in cache. KV is suitable for use cases where you need to write relatively infrequently, but read quickly and frequently. Infrequently read values are pulled from other data centers or the central stores, while more popular values are cached in the data centers they are requested from.
+Workers KV is optimized for high-read applications. It stores data centrally and uses a hybrid push/pull-based replication to store data in cache. Workers KV is suitable for use cases where you need to write relatively infrequently, but read quickly and frequently. Infrequently read values are pulled from other data centers or the central stores, while more popular values are cached in the data centers they are requested from.
## Performance
-To improve KV performance, increase the [`cacheTtl` parameter](/kv/api/read-key-value-pairs/#cachettl-parameter) up from its default 60 seconds.
+To improve Workers KV performance, increase the [`cacheTtl` parameter](/kv/api/read-key-value-pairs/#cachettl-parameter) up from its default 60 seconds.
-KV achieves high performance by [caching](https://www.cloudflare.com/en-gb/learning/cdn/what-is-caching/) which makes reads eventually-consistent with writes.
+Workers KV achieves high performance by [caching](https://www.cloudflare.com/en-gb/learning/cdn/what-is-caching/) which makes reads eventually-consistent with writes.
Changes are usually immediately visible in the Cloudflare global network location at which they are made. Changes may take up to 60 seconds or more to be visible in other global network locations as their cached versions of the data time out.
Negative lookups indicating that the key does not exist are also cached, so the same delay exists noticing a value is created as when a value is changed.
-KV does not perform like an in-memory datastore, such as [Redis](https://redis.io). Accessing KV values, even when locally cached, has significantly more latency than reading a value from memory within a Worker script.
+Workers KV does not perform like an in-memory datastore, such as [Redis](https://redis.io). Accessing key-value values, even when locally cached, has significantly more latency than reading a value from memory within a Worker script.
## Consistency
-KV achieves high performance by being eventually-consistent. At the Cloudflare global network location at which changes are made, these changes are usually immediately visible. However, this is not guaranteed and therefore it is not advised to rely on this behaviour. In other global network locations changes may take up to 60 seconds or more to be visible as their cached versions of the data time-out.
+Workers KV achieves high performance by being eventually-consistent. At the Cloudflare global network location at which changes are made, these changes are usually immediately visible. However, this is not guaranteed and therefore it is not advised to rely on this behaviour. In other global network locations changes may take up to 60 seconds or more to be visible as their cached versions of the data time-out.
Visibility of changes takes longer in locations which have recently read a previous version of a given key (including reads that indicated the key did not exist, which are also cached locally).
:::note
-KV is not ideal for applications where you need support for atomic operations or where values must be read and written in a single transaction.
-If you need stronger consistency guarantees, consider using [Durable Objects](/durable-objects/).
+Workers KV is not ideal for applications where you need support for atomic operations or where values must be read and written in a single transaction. If you need stronger consistency guarantees, consider using [Durable Objects](/durable-objects/).
:::
-An approach to achieve write-after-write consistency is to send all of your writes for a given KV key through a corresponding instance of a Durable Object, and then read that value from KV in other Workers. This is useful if you need more control over writes, but are satisfied with KV's read characteristics described above.
+An approach to achieve write-after-write consistency is to send all of your writes for a given key-value key through a corresponding instance of a Durable Object, and then read that value from Workers KV in other Workers. This is useful if you need more control over writes, but are satisfied with Workers KV's read characteristics described above.
## Security
diff --git a/src/content/docs/kv/concepts/kv-bindings.mdx b/src/content/docs/kv/concepts/kv-bindings.mdx
index 8d83ffddf2cb88..5a64174a7d9940 100644
--- a/src/content/docs/kv/concepts/kv-bindings.mdx
+++ b/src/content/docs/kv/concepts/kv-bindings.mdx
@@ -1,23 +1,23 @@
---
pcx_content_type: concept
-title: KV bindings
+title: Workers KV bindings
sidebar:
order: 7
---
KV [bindings](/workers/runtime-apis/bindings/) allow for communication between a Worker and a KV namespace.
-Configure KV bindings in the [wrangler.toml file](/workers/wrangler/configuration/).
+Configure Workers KV bindings in the [wrangler.toml file](/workers/wrangler/configuration/).
-## Access KV from Workers
+## Access Workers KV from Workers
-A [KV namespace](/kv/concepts/kv-namespaces/) is a key-value database replicated to Cloudflare's global network.
+A [Workers KV namespace](/kv/concepts/kv-namespaces/) is a key-value database replicated to Cloudflare's global network.
-To connect to a KV namespace from within a Worker, you must define a binding that points to the namespace's ID.
+To connect to a Workers KV namespace from within a Worker, you must define a binding that points to the namespace's ID.
-The name of your binding does not need to match the KV namespace's name. Instead, the binding should be a valid JavaScript identifier, because the identifier will exist as a global variable within your Worker.
+The name of your binding does not need to match the Workers KV namespace's name. Instead, the binding should be a valid JavaScript identifier, because the identifier will exist as a global variable within your Worker.
-A KV namespace will have a name you choose (for example, `My tasks`), and an assigned ID (for example, `06779da6940b431db6e566b4846d64db`).
+A Workers KV namespace will have a name you choose (for example, `My tasks`), and an assigned ID (for example, `06779da6940b431db6e566b4846d64db`).
To execute your Worker, define the binding.
@@ -48,11 +48,11 @@ export default {
};
```
-## Use KV bindings when developing locally
+## Use Workers KV bindings when developing locally
-When you use Wrangler to develop locally with the `wrangler dev` command, Wrangler will default to using a local version of KV to avoid interfering with any of your live production data in KV. This means that reading keys that you have not written locally will return `null`.
+When you use Wrangler to develop locally with the `wrangler dev` command, Wrangler will default to using a local version of Workers KV to avoid interfering with any of your live production data in Workers KV. This means that reading keys that you have not written locally will return `null`.
-To have `wrangler dev` connect to your Workers KV namespace running on Cloudflare's global network, call `wrangler dev --remote` instead. This will use the `preview_id` of the KV binding configuration in the `wrangler.toml` file. This is how a `wrangler.toml` file looks with the `preview_id` specified.
+To have `wrangler dev` connect to your Workers KV namespace running on Cloudflare's global network, call `wrangler dev --remote` instead. This will use the `preview_id` of the Workers KV binding configuration in the `wrangler.toml` file. This is how a `wrangler.toml` file looks with the `preview_id` specified.
```toml title="wrangler.toml"
name = "worker"
@@ -64,7 +64,7 @@ kv_namespaces = [
]
```
-## Access KV from Durable Objects and Workers using ES modules format
+## Access Workers KV from Durable Objects and Workers using ES modules format
[Durable Objects](/durable-objects/) use ES modules format. Instead of a global variable, bindings are available as properties of the `env` parameter [passed to the constructor](/durable-objects/get-started/#3-write-a-class-to-define-a-durable-object).
diff --git a/src/content/docs/kv/concepts/kv-namespaces.mdx b/src/content/docs/kv/concepts/kv-namespaces.mdx
index 2c4f5aa005f35f..abad1d57175a93 100644
--- a/src/content/docs/kv/concepts/kv-namespaces.mdx
+++ b/src/content/docs/kv/concepts/kv-namespaces.mdx
@@ -1,15 +1,15 @@
---
pcx_content_type: concept
-title: KV namespaces
+title: Workers KV namespaces
sidebar:
order: 7
---
import { Type, MetaInfo } from "~/components";
-A KV namespace is a key-value database replicated to Cloudflare’s global network.
+A Workers KV namespace is a key-value database replicated to Cloudflare’s global network.
-Bind your KV namespaces through Wrangler or via the Cloudflare dashboard.
+Bind your Workers KV namespaces through Wrangler or via the Cloudflare dashboard.
:::note
@@ -17,21 +17,21 @@ KV namespace IDs are public and bound to your account.
:::
-## Bind your KV namespace through Wrangler
+## Bind your Workers KV namespace through Wrangler
-To bind KV namespaces to your Worker, assign an array of the below object to the `kv_namespaces` key.
+To bind Workers KV namespaces to your Worker, assign an array of the below object to the `kv_namespaces` key.
* `binding`
- * The binding name used to refer to the KV namespace.
+ * The binding name used to refer to the Workers KV namespace.
* `id`
- * The ID of the KV namespace.
+ * The ID of the Workers KV namespace.
* `preview_id`
- * The ID of the KV namespace used during `wrangler dev`.
+ * The ID of the Workers KV namespace used during `wrangler dev`.
Example:
@@ -41,7 +41,7 @@ kv_namespaces = [
]
```
-## Bind your KV namespace via the dashboard
+## Bind your Workers KV namespace via the dashboard
To bind the namespace to your Worker in the Cloudflare dashboard:
diff --git a/src/content/docs/kv/demos.mdx b/src/content/docs/kv/demos.mdx
index d9218868cc49d5..4688a55c320751 100644
--- a/src/content/docs/kv/demos.mdx
+++ b/src/content/docs/kv/demos.mdx
@@ -8,16 +8,16 @@ sidebar:
import { ExternalResources, GlossaryTooltip, ResourcesBySelector } from "~/components"
-Learn how you can use KV within your existing application and architecture.
+Learn how you can use Workers KV within your existing application and architecture.
## Demo applications
-Explore the following demo applications for KV.
+Explore the following demo applications for Workers KV.
## Reference architectures
-Explore the following reference architectures that use KV:
+Explore the following reference architectures that use Workers KV:
diff --git a/src/content/docs/kv/examples/index.mdx b/src/content/docs/kv/examples/index.mdx
index e310442b84c800..3c06bf931925d5 100644
--- a/src/content/docs/kv/examples/index.mdx
+++ b/src/content/docs/kv/examples/index.mdx
@@ -11,6 +11,6 @@ sidebar:
import { GlossaryTooltip, ListExamples } from "~/components";
-Explore the following examples for KV.
+Explore the following examples for Workers KV.
diff --git a/src/content/docs/kv/examples/workers-kv-to-serve-assets.mdx b/src/content/docs/kv/examples/workers-kv-to-serve-assets.mdx
index 7fa1702a33f362..6d8a7580bb8ec9 100644
--- a/src/content/docs/kv/examples/workers-kv-to-serve-assets.mdx
+++ b/src/content/docs/kv/examples/workers-kv-to-serve-assets.mdx
@@ -2,7 +2,7 @@
type: example
summary: Store and retrieve static assets with Workers KV
tags:
- - KV
+ - Workers KV
pcx_content_type: configuration
title: Store and retrieve static assets with Workers KV
sidebar:
@@ -53,11 +53,11 @@ npm install mimes accept-language-parser
npm install --save-dev @types/accept-language-parser
```
-## 2. Create a new KV namespace
+## 2. Create a new Workers KV namespace
-Next, we will create a KV store. This can be done through the Cloudflare dashboard or the Wrangler CLI. For this example, we will use the Wrangler CLI.
+Next, we will create a key-value store. This can be done through the Cloudflare dashboard or the Wrangler CLI. For this example, we will use the Wrangler CLI.
-To create a KV store via Wrangler:
+To create a key-value store via Wrangler:
1. Open your terminal and run the following command:
@@ -65,7 +65,7 @@ To create a KV store via Wrangler:
npx wrangler kv namespace create assets
```
- The `wrangler kv namespace create assets` subcommand creates a KV namespace by concatenating your Worker's name and the value provided for `assets`. An `id` will be randomly generated for the KV namespace.
+ The `wrangler kv namespace create assets` subcommand creates a Workers KV namespace by concatenating your Worker's name and the value provided for `assets`. An `id` will be randomly generated for the Workers KV namespace.
```sh
npx wrangler kv namespace create assets
@@ -88,9 +88,9 @@ To create a KV store via Wrangler:
id = ""
```
- The [KV binding](/kv/concepts/kv-bindings/) `assets` is how your Worker will interact with the [KV namespace](/kv/concepts/kv-namespaces/). This binding will be provided as a runtime variable within your Workers code by the Workers runtime.
+ The [Workers KV binding](/kv/concepts/kv-bindings/) `assets` is how your Worker will interact with the [Workers KV namespace](/kv/concepts/kv-namespaces/). This binding will be provided as a runtime variable within your Workers code by the Workers runtime.
- We'll also create a preview KV namespace. It is recommended to create a separate KV namespace when developing locally to avoid making changes to the production namespace. When developing locally against remote resources, the Wrangler CLI will only use the namespace specified by `preview_id` in the KV namespace configuration of the `wrangler.toml` file.
+ We'll also create a preview Workers KV namespace. It is recommended to create a separate Workers KV namespace when developing locally to avoid making changes to the production namespace. When developing locally against remote resources, the Wrangler CLI will only use the namespace specified by `preview_id` in the Workers KV namespace configuration of the `wrangler.toml` file.
3. In your terminal, run the following command:
@@ -98,7 +98,7 @@ To create a KV store via Wrangler:
npx wrangler kv namespace create assets --preview
```
- This command will create a special KV namespace that will be used only when developing with Wrangler against remote resources using `wrangler dev --remote`.
+ This command will create a special Workers KV namespace that will be used only when developing with Wrangler against remote resources using `wrangler dev --remote`.
```sh
npx wrangler kv namespace create assets --preview
@@ -122,28 +122,28 @@ To create a KV store via Wrangler:
preview_id = ""
```
-We now have one KV binding that will use the production KV namespace when deployed and the preview KV namespace when developing locally against remote resources with `wrangler dev --remote`.
+We now have one Workers KV binding that will use the production Workers KV namespace when deployed and the preview Workers KV namespace when developing locally against remote resources with `wrangler dev --remote`.
-## 3. Store static assets in KV using Wrangler
+## 3. Store static assets in Workers KV using Wrangler
-To store static assets in KV, you can use the Wrangler CLI, the KV binding from a Worker application, or the KV REST API. We'll demonstrate how to use the Wrangler CLI.
+To store static assets in Workers KV, you can use the Wrangler CLI, the Workers KV binding from a Worker application, or the Workers KV REST API. We will demonstrate how to use the Wrangler CLI.
-For this scenario, we'll be storing a sample HTML file within our KV store. Create a new file `index.html` in the root of project with the following content:
+For this scenario, we'll be storing a sample HTML file within our key-value store. Create a new file `index.html` in the root of project with the following content:
```html title="index.html"
Hello World!
```
-We can then use the following Wrangler commands to create a KV pair for this file within our production and preview namespaces:
+We can then use the following Wrangler commands to create a key-value pair for this file within our production and preview namespaces:
```sh
npx wrangler kv key put index.html --path index.html --binding assets --preview false
npx wrangler kv key put index.html --path index.html --binding assets --preview
```
-This will create a KV pair with the filename as key and the file content as value, within the our production and preview namespaces specified by your binding in your `wrangler.toml` file.
+This will create a key-value pair with the filename as key and the file content as value, within the our production and preview namespaces specified by your binding in your `wrangler.toml` file.
-## 4. Serve static assets from KV from your Worker application
+## 4. Serve static assets from Workers KV from your Worker application
Within the `index.ts` file of our Worker project, replace the contents with the following:
@@ -180,7 +180,7 @@ export default {
mimeType += "; charset=utf-8";
}
- //get the value from the KV store and return it if found
+ //get the value from the key-value store and return it if found
const value = await env.assets.get(key, 'arrayBuffer')
if(!value){
return new Response("Not found", {
@@ -197,7 +197,7 @@ export default {
} satisfies ExportedHandler;
```
-This code will use the path within the URL and find the file associated to the path within the KV store. It also sets the proper MIME type in the response to indicate to the browser how to handle the response. To retrieve the value from the KV store, this code uses `arrayBuffer` to properly handle binary data such as images, documents, and video/audio files.
+This code will use the path within the URL and find the file associated to the path within the key-value store. It also sets the proper MIME type in the response to indicate to the browser how to handle the response. To retrieve the value from the key-value store, this code uses `arrayBuffer` to properly handle binary data such as images, documents, and video/audio files.
To start the Worker, run the following within a terminal:
@@ -205,7 +205,7 @@ To start the Worker, run the following within a terminal:
npx wrangler dev --remote
```
-This will run you Worker code against your remote resources, specifically using the preview KV namespace as configured.
+This will run you Worker code against your remote resources, specifically using the preview Workers KV namespace as configured.
```sh
npx wrangler dev --remote
@@ -213,12 +213,12 @@ npx wrangler dev --remote
```sh output
Your worker has access to the following bindings:
-- KV Namespaces:
+- Workers KV Namespaces:
- assets:
[wrangler:inf] Ready on http://localhost:
```
-Access the URL provided by the Wrangler command as such `http://localhost:/index.html`. You will be able to see the returned HTML file containing the file contents of our `index.html` file that was added to our KV store. Try it out with an image or a document and you will see that this Worker is also properly serving those assets from KV.
+Access the URL provided by the Wrangler command as such `http://localhost:/index.html`. You will be able to see the returned HTML file containing the file contents of our `index.html` file that was added to our key-value store. Try it out with an image or a document and you will see that this Worker is also properly serving those assets from Workers KV.
## 5. Create an endpoint to generate dynamic responses from your key-value pairs
@@ -263,7 +263,7 @@ Start by creating this file in the root of your project:
]
```
-Open a terminal and enter the following KV command to create a KV entry for the translations file:
+Open a terminal and enter the following Workers KV command to create a KV entry for the translations file:
```sh
npx wrangler kv key put hello-world.json --path hello-world.json --binding assets --preview false
@@ -344,7 +344,7 @@ export default {
mimeType += "; charset=utf-8";
}
- //get the value from the KV store and return it if found
+ //get the value from the key-value store and return it if found
const value = await env.assets.get(key, 'arrayBuffer')
if(!value){
return new Response("Not found", {
@@ -361,7 +361,7 @@ export default {
} satisfies ExportedHandler;
```
-This new code provides a specific endpoint, `/hello-world`, which will provide translated responses. When this URL is accessed, our Worker code will first retrieve the language that is requested by the client in the `Accept-Language` request header and the translations from our KV store for the `hello-world.json` key. It then gets the translated message and returns the generated HTML.
+This new code provides a specific endpoint, `/hello-world`, which will provide translated responses. When this URL is accessed, our Worker code will first retrieve the language that is requested by the client in the `Accept-Language` request header and the translations from our key-value store for the `hello-world.json` key. It then gets the translated message and returns the generated HTML.
```sh
npx wrangler dev --remote
@@ -371,17 +371,17 @@ With the Worker code running, we can notice that our application is now returnin
## 6. Deploy your project
-Run `wrangler deploy` to deploy your Workers project to Cloudflare with the binding to the KV namespace.
+Run `wrangler deploy` to deploy your Workers project to Cloudflare with the binding to the Workers KV namespace.
```sh
npx wrangler deploy
```
-Wrangler will automatically set your KV binding to use the production KV namespace set in our `wrangler.toml` file with the KV namespace id. Throughout this example, we uploaded our assets to both the preview and the production KV namespaces.
+Wrangler will automatically set your Workers KV binding to use the production Workers KV namespace set in our `wrangler.toml` file with the Workers KV namespace id. Throughout this example, we uploaded our assets to both the preview and the production Workers KV namespaces.
-We can now verify that our project is properly working by accessing our Workers default hostname and accessing `..dev/index.html` or `..dev/hello-world` to see our deployed Worker in action, generating responses from the values in our KV store.
+We can now verify that our project is properly working by accessing our Workers default hostname and accessing `..dev/index.html` or `..dev/hello-world` to see our deployed Worker in action, generating responses from the values in our key-value store.
## Related resources
- [Rust support in Workers](/workers/languages/rust/).
-- [Using KV in Workers](/kv/get-started/).
+- [Using Workers KV in Workers](/kv/get-started/).
diff --git a/src/content/docs/kv/get-started.mdx b/src/content/docs/kv/get-started.mdx
index f422542d26b5b8..db0c151065a214 100644
--- a/src/content/docs/kv/get-started.mdx
+++ b/src/content/docs/kv/get-started.mdx
@@ -11,9 +11,9 @@ Workers KV provides low-latency, high-throughput global storage to your [Cloudfl
This guide instructs you through:
-- Creating a KV namespace.
-- Writing key-value pairs to your KV namespace from a Cloudflare Worker.
-- Reading key-value pairs from a KV namespace.
+- Creating a Workers KV namespace.
+- Writing key-value pairs to your Workers KV namespace from a Cloudflare Worker.
+- Reading key-value pairs from a Workers KV namespace.
You can perform these tasks through the CLI or through the Cloudflare dashboard.
@@ -31,7 +31,7 @@ Refer to [How Workers works](/workers/reference/how-workers-works/) to learn abo
-Create a new Worker to read and write to your KV namespace.
+Create a new Worker to read and write to your Workers KV namespace.
1. Create a new project named `kv-tutorial` by running:
@@ -97,20 +97,20 @@ Create a new Worker to read and write to your KV namespace.
-## 2. Create a KV namespace
+## 2. Create a Workers KV namespace
-A [KV namespace](/kv/concepts/kv-namespaces/) is a key-value database replicated to Cloudflare’s global network.
+A [Workers KV namespace](/kv/concepts/kv-namespaces/) is a key-value database replicated to Cloudflare’s global network.
-[Wrangler](/workers/wrangler/) allows you to put, list, get, and delete entries within your KV namespace.
+[Wrangler](/workers/wrangler/) allows you to put, list, get, and delete entries within your Workers KV namespace.
:::note
-KV operations are scoped to your account.
+Key-value operations are scoped to your account.
:::
-To create a KV namespace via Wrangler:
+To create a Workers KV namespace via Wrangler:
1. Open your terminal and run the following command:
@@ -119,7 +119,7 @@ To create a KV namespace via Wrangler:
npx wrangler kv namespace create
```
- The `npx wrangler kv namespace create ` subcommand takes a new binding name as its argument. A KV namespace is created using a concatenation of your Worker’s name (from your `wrangler.toml` file) and the binding name you provide. A `BINDING_ID` is randomly generated for you.
+ The `npx wrangler kv namespace create ` subcommand takes a new binding name as its argument. A Workers KV namespace is created using a concatenation of your Worker’s name (from your `wrangler.toml` file) and the binding name you provide. A `BINDING_ID` is randomly generated for you.
For this tutorial, use the binding name `BINDING_NAME`.
@@ -153,11 +153,11 @@ To create a KV namespace via Wrangler:
-## 3. Bind your Worker to your KV namespace
+## 3. Bind your Worker to your Workers KV namespace
-You must create a binding to connect your Worker with your KV namespace. [Bindings](/workers/runtime-apis/bindings/) allow your Workers to access resources, like KV, on the Cloudflare developer platform.
+You must create a binding to connect your Worker with your Workers KV namespace. [Bindings](/workers/runtime-apis/bindings/) allow your Workers to access resources, like Workers KV, on the Cloudflare developer platform.
-To bind your KV namespace to your Worker:
+To bind your Workers KV namespace to your Worker:
@@ -172,14 +172,14 @@ To bind your KV namespace to your Worker:
Binding names do not need to correspond to the namespace you created. Binding names are only a reference. Specifically:
- - The value (string) you set for `` is used to reference this KV namespace in your Worker. For this tutorial, this should be `BINDING_NAME`.
+ - The value (string) you set for `` is used to reference this Workers KV namespace in your Worker. For this tutorial, this should be `BINDING_NAME`.
- The binding must be [a valid JavaScript variable name](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Grammar_and_types#variables). For example, `binding = "MY_KV"` or `binding = "routingConfig"` would both be valid names for the binding.
- Your binding is available in your Worker at `env.` from within your Worker.
:::note[Bindings]
-A binding is how your Worker interacts with external resources such as [KV namespaces](/kv/concepts/kv-namespaces/). A binding is a runtime variable that the Workers runtime provides to your code. You can declare a variable name in your `wrangler.toml` file that binds to these resources at runtime, and interact with them through this variable. Every binding's variable name and behavior is determined by you when deploying the Worker.
+A binding is how your Worker interacts with external resources such as [Workers KV namespaces](/kv/concepts/kv-namespaces/). A binding is a runtime variable that the Workers runtime provides to your code. You can declare a variable name in your `wrangler.toml` file that binds to these resources at runtime, and interact with them through this variable. Every binding's variable name and behavior is determined by you when deploying the Worker.
Refer to [Environment](/kv/reference/environments/) for more information.
@@ -193,20 +193,20 @@ Refer to [Environment](/kv/reference/environments/) for more information.
3. Select **Settings**.
4. Scroll to **Bindings**, then select **Add**.
5. Select **KV namespace**.
-6. Name your binding (`BINDING_NAME`) in **Variable name**, then select the KV namespace (`kv_tutorial_namespace`) you created in [step 2](/kv/get-started/#2-create-a-kv-namespace) from the dropdown menu.
+6. Name your binding (`BINDING_NAME`) in **Variable name**, then select the Workers KV namespace (`kv_tutorial_namespace`) you created in [step 2](/kv/get-started/#2-create-a-kv-namespace) from the dropdown menu.
7. Select **Deploy** to deploy your binding.
-## 4. Interact with your KV namespace
+## 4. Interact with your Workers KV namespace
-You can interact with your KV namespace via [Wrangler](/workers/wrangler/install-and-update/) or directly from your [Workers](/workers/) application.
+You can interact with your Workers KV namespace via [Wrangler](/workers/wrangler/install-and-update/) or directly from your [Workers](/workers/) application.
### Write a value
-To write a value to your empty KV namespace using Wrangler:
+To write a value to your empty Workers KV namespace using Wrangler:
1. Run the `wrangler kv key put` subcommand in your terminal, and input your key and value respectively. `` and `` are values of your choice.
@@ -239,7 +239,7 @@ npx wrangler kv key put --namespace-id=xxxxxxxxxxxxxxxx "" "" --loca
1. Go to [**Storage & Databases** > **KV**](https://dash.cloudflare.com/?to=/:account/workers/kv/namespaces).
-2. Select the KV namespace you created (`kv_tutorial_namespace`), then select **View**.
+2. Select the Workers KV namespace you created (`kv_tutorial_namespace`), then select **View**.
3. Select **KV Pairs**.
4. Enter a `` of your choice.
5. Enter a `` of your choice.
@@ -262,7 +262,7 @@ To access the value using Wrangler:
npx wrangler kv key get [OPTIONS] ""
```
- A KV namespace can be specified in two ways:
+ A Workers KV namespace can be specified in two ways:
@@ -304,20 +304,20 @@ You can view key-value pairs directly from the dashboard.
-## 5. Access your KV namespace from your Worker
+## 5. Access your Workers KV namespace from your Worker
:::note
-When using [`wrangler dev`](/workers/wrangler/commands/#dev) to develop locally, Wrangler defaults to using a local version of KV to avoid interfering with any of your live production data in KV. This means that reading keys that you have not written locally returns null.
+When using [`wrangler dev`](/workers/wrangler/commands/#dev) to develop locally, Wrangler defaults to using a local version of Workers KV to avoid interfering with any of your live production data in Workers KV. This means that reading keys that you have not written locally returns null.
-To have `wrangler dev` connect to your Workers KV namespace running on Cloudflare's global network, call `wrangler dev --remote` instead. This uses the `preview_id` of the KV binding configuration in the `wrangler.toml` file. See the [KV binding docs](/kv/concepts/kv-bindings/#using-the-kv-binding-when-developing-locally) for more information.
+To have `wrangler dev` connect to your Workers KV namespace running on Cloudflare's global network, call `wrangler dev --remote` instead. This uses the `preview_id` of the Workers KV binding configuration in the `wrangler.toml` file. See the [Workers KV binding docs](/kv/concepts/kv-bindings/#using-the-kv-binding-when-developing-locally) for more information.
:::
-1. In your Worker script, add your KV binding in the `Env` interface:
+1. In your Worker script, add your Workers KV binding in the `Env` interface:
```ts
interface Env {
@@ -332,7 +332,7 @@ To have `wrangler dev` connect to your Workers KV namespace running on Cloudflar
let value = await env.BINDING_NAME.put(key, value);
```
-3. Use the KV `get()` method to fetch the data you stored in your KV database:
+3. Use the KV `get()` method to fetch the data you stored in your Workers KV database:
```ts
let value = await env.BINDING_NAME.get("KEY");
@@ -367,8 +367,8 @@ export default {
The code above:
-1. Writes a key to `BINDING_NAME` using KV's `put()` method.
-2. Reads the same key using KV's `get()` method, and returns an error if the key is null (or in case the key is not set, or does not exist).
+1. Writes a key to `BINDING_NAME` using Workers KV's `put()` method.
+2. Reads the same key using Workers KV's `get()` method, and returns an error if the key is null (or in case the key is not set, or does not exist).
3. Uses JavaScript's [`try...catch`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/try...catch) exception handling to catch potential errors. When writing or reading from any service, such as Workers KV or external APIs using `fetch()`, you should expect to handle exceptions explicitly.
To run your project locally, enter the following command within your project directory:
@@ -411,8 +411,8 @@ The browser should simply return the `VALUE` corresponding to the `KEY` you have
The code above:
- 1. Writes a key to `BINDING_NAME` using KV's `put()` method.
- 2. Reads the same key using KV's `get()` method, and returns an error if the key is null (or in case the key is not set, or does not exist).
+ 1. Writes a key to `BINDING_NAME` using Workers KV's `put()` method.
+ 2. Reads the same key using Workers KV's `get()` method, and returns an error if the key is null (or in case the key is not set, or does not exist).
3. Uses JavaScript's [`try...catch`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/try...catch) exception handling to catch potential errors. When writing or reading from any service, such as Workers KV or external APIs using `fetch()`, you should expect to handle exceptions explicitly.
The browser should simply return the `VALUE` corresponding to the `KEY` you have specified with the `get()` method.
@@ -422,12 +422,12 @@ The browser should simply return the `VALUE` corresponding to the `KEY` you have
-## 6. Deploy your KV
+## 6. Deploy your Workers KV
-1. Run the following command to deploy KV to Cloudflare's global network:
+1. Run the following command to deploy Workers KV to Cloudflare's global network:
```sh
npx wrangler deploy
@@ -457,7 +457,7 @@ The browser should simply return the `VALUE` corresponding to the `KEY` you have
By finishing this tutorial, you have:
-1. Created a KV namespace
+1. Created a Workers KV namespace
2. Created a Worker that writes and reads from that namespace
3. Deployed your project globally.
@@ -465,6 +465,6 @@ By finishing this tutorial, you have:
If you have any feature requests or notice any bugs, share your feedback directly with the Cloudflare team by joining the [Cloudflare Developers community on Discord](https://discord.cloudflare.com).
-- Learn more about the [KV API](/kv/api/).
+- Learn more about the [Workers KV API](/kv/api/).
- Understand how to use [Environments](/kv/reference/environments/) with Workers KV.
- Read the Wrangler [`kv` command documentation](/kv/reference/kv-commands/).
diff --git a/src/content/docs/kv/glossary.mdx b/src/content/docs/kv/glossary.mdx
index 43a464f80e7363..e32ffce4dc7290 100644
--- a/src/content/docs/kv/glossary.mdx
+++ b/src/content/docs/kv/glossary.mdx
@@ -8,6 +8,6 @@ sidebar:
import { Glossary } from "~/components"
-Review the definitions for terms used across Cloudflare's KV documentation.
+Review the definitions for terms used across Cloudflare's Workers KV documentation.
diff --git a/src/content/docs/kv/index.mdx b/src/content/docs/kv/index.mdx
index 0b173cb65b9491..72ee61f9bb9c1c 100644
--- a/src/content/docs/kv/index.mdx
+++ b/src/content/docs/kv/index.mdx
@@ -73,11 +73,11 @@ Built on SQLite, D1 is Cloudflare’s first queryable relational database. Creat
- Learn about KV limits.
+ Learn about Workers KV limits.
- Learn about KV pricing.
+ Learn about Workers KV pricing.
**KV**](https://dash.cloudflare.com/?to=/:account/workers/kv/namespaces).
@@ -34,18 +34,18 @@ You can optionally select a time window to query. This defaults to the last 24 h
## Query via the GraphQL API
-You can programmatically query analytics for your KV namespaces via the [GraphQL Analytics API](/analytics/graphql-api/). This API queries the same datasets as the Cloudflare dashboard, and supports GraphQL [introspection](/analytics/graphql-api/features/discovery/introspection/).
+You can programmatically query analytics for your Workers KV namespaces via the [GraphQL Analytics API](/analytics/graphql-api/). This API queries the same datasets as the Cloudflare dashboard, and supports GraphQL [introspection](/analytics/graphql-api/features/discovery/introspection/).
To get started using the [GraphQL Analytics API](/analytics/graphql-api/), follow the documentation to setup [Authentication for the GraphQL Analytics API](/analytics/graphql-api/getting-started/authentication/).
-To use the GraphQL API to retrieve KV's datasets, you must provide the `accountTag` filter with your Cloudflare Account ID. The GraphQL datasets for KV include:
+To use the GraphQL API to retrieve Workers KV's datasets, you must provide the `accountTag` filter with your Cloudflare Account ID. The GraphQL datasets for Workers KV include:
- `kvOperationsAdaptiveGroups`
- `kvStorageAdaptiveGroups`
### Examples
-The following are common GraphQL queries that you can use to retrieve information about KV analytics. These queries make use of variables `$accountTag`, `$date_geq`, `$date_leq`, and `$namespaceId`, which should be set as GraphQL variables or replaced in line. These variables should look similar to these:
+The following are common GraphQL queries that you can use to retrieve information about Workers KV analytics. These queries make use of variables `$accountTag`, `$date_geq`, `$date_leq`, and `$namespaceId`, which should be set as GraphQL variables or replaced in line. These variables should look similar to these:
```json
{
@@ -113,7 +113,7 @@ query {
}
```
-To query your account-wide read, write, delete, and list operations across all KV namespaces:
+To query your account-wide read, write, delete, and list operations across all Workers KV namespaces:
```graphql
query {
@@ -134,7 +134,7 @@ query {
#### Storage
-To query the storage details (`keyCount` and `byteCount`) of a KV namespace for every day of a given date range:
+To query the storage details (`keyCount` and `byteCount`) of a Workers KV namespace for every day of a given date range:
```graphql
query Viewer {
diff --git a/src/content/docs/kv/platform/limits.mdx b/src/content/docs/kv/platform/limits.mdx
index 38166ad8b87608..16dda94fedacea 100644
--- a/src/content/docs/kv/platform/limits.mdx
+++ b/src/content/docs/kv/platform/limits.mdx
@@ -32,7 +32,7 @@ import { Render } from "~/components"
:::note[Free versus Paid plan pricing]
-Refer to [KV pricing](/kv/platform/pricing/) to review the specific KV operations you are allowed under each plan with their pricing.
+Refer to [Workers KV pricing](/kv/platform/pricing/) to review the specific key-value operations you are allowed under each plan with their pricing.
:::
diff --git a/src/content/docs/kv/platform/pricing.mdx b/src/content/docs/kv/platform/pricing.mdx
index 4afa72a15be874..f112ae0e7efcaf 100644
--- a/src/content/docs/kv/platform/pricing.mdx
+++ b/src/content/docs/kv/platform/pricing.mdx
@@ -12,15 +12,15 @@ import { Render } from "~/components"
## Frequently Asked Questions
-Frequently asked questions related to KV pricing:
+Frequently asked questions related to Workers KV pricing:
-* When writing via KV's [REST API](/api/operations/workers-kv-namespace-write-multiple-key-value-pairs), how are writes charged?
+* When writing via Workers KV [REST API](/api/operations/workers-kv-namespace-write-multiple-key-value-pairs), how are writes charged?
Each key-value pair in the `PUT` request is counted as a single write, identical to how each call to `PUT` in the Workers API counts as a write. Writing 5,000 keys via the REST API incurs the same write costs as making 5,000 `PUT` calls in a Worker.
* Do queries I issue from the dashboard or wrangler (the CLI) count as billable usage?
-Yes, any operations via the Cloudflare dashboard or wrangler, including updating (writing) keys, deleting keys, and listing the keys in a namespace count as billable KV usage.
+Yes, any operations via the Cloudflare dashboard or wrangler, including updating (writing) keys, deleting keys, and listing the keys in a namespace count as billable Workers KV usage.
* Does Workers KV charge for data transfer / egress?
diff --git a/src/content/docs/kv/reference/data-security.mdx b/src/content/docs/kv/reference/data-security.mdx
index 372f334e5a338b..cbbc274b01aa1a 100644
--- a/src/content/docs/kv/reference/data-security.mdx
+++ b/src/content/docs/kv/reference/data-security.mdx
@@ -6,7 +6,7 @@ sidebar:
---
-This page details the data security properties of KV, including:
+This page details the data security properties of Workers KV, including:
* Encryption-at-rest (EAR).
* Encryption-in-transit (EIT).
@@ -14,17 +14,17 @@ This page details the data security properties of KV, including:
## Encryption at Rest
-All values stored in KV are encrypted at rest. Encryption and decryption are automatic, do not require user configuration to enable, and do not impact the effective performance of KV.
+All values stored in Workers KV are encrypted at rest. Encryption and decryption are automatic, do not require user configuration to enable, and do not impact the effective performance of Workers KV.
Values are only decrypted by the process executing your Worker code or responding to your API requests.
Encryption keys are managed by Cloudflare and securely stored in the same key management systems we use for managing encrypted data across Cloudflare internally.
-Objects are encrypted using [AES-256](https://www.cloudflare.com/learning/ssl/what-is-encryption/), a widely tested, highly performant and industry-standard encryption algorithm. KV uses GCM (Galois/Counter Mode) as its preferred mode.
+Objects are encrypted using [AES-256](https://www.cloudflare.com/learning/ssl/what-is-encryption/), a widely tested, highly performant and industry-standard encryption algorithm. Workers KV uses GCM (Galois/Counter Mode) as its preferred mode.
## Encryption in Transit
-Data transfer between a Cloudflare Worker, and/or between nodes within the Cloudflare network and KV is secured using the same [Transport Layer Security](https://www.cloudflare.com/learning/ssl/transport-layer-security-tls/) (TLS/SSL).
+Data transfer between a Cloudflare Worker, and/or between nodes within the Cloudflare network and Workers KV is secured using the same [Transport Layer Security](https://www.cloudflare.com/learning/ssl/transport-layer-security-tls/) (TLS/SSL).
API access via the HTTP API or using the [wrangler](/workers/wrangler/install-and-update/) command-line interface is also over TLS/SSL (HTTPS).
diff --git a/src/content/docs/kv/reference/environments.mdx b/src/content/docs/kv/reference/environments.mdx
index 780990cc4aa8a5..896134d3935882 100644
--- a/src/content/docs/kv/reference/environments.mdx
+++ b/src/content/docs/kv/reference/environments.mdx
@@ -5,9 +5,9 @@ sidebar:
order: 3
---
-KV namespaces can be used with [environments](/workers/wrangler/environments/). This is useful when you have code in your Worker that refers to a KV binding like `MY_KV`, and you want to have these bindings point to different KV namespaces (for example, one for staging and one for production).
+Workers KV namespaces can be used with [environments](/workers/wrangler/environments/). This is useful when you have code in your Worker that refers to a Workers KV binding like `MY_KV`, and you want to have these bindings point to different Workers KV namespaces (for example, one for staging and one for production).
-The following code in the `wrangler.toml` file shows you how to have two environments that have two different KV namespaces but the same binding name:
+The following code in the `wrangler.toml` file shows you how to have two environments that have two different Workers KV namespaces but the same binding name:
```toml
[env.staging]
@@ -21,11 +21,11 @@ kv_namespaces = [
]
```
-Using the same binding name for two different KV namespaces keeps your Worker code more readable.
+Using the same binding name for two different Workers KV namespaces keeps your Worker code more readable.
In the `staging` environment, `MY_KV.get("KEY")` will read from the namespace ID `e29b263ab50e42ce9b637fa8370175e8`. In the `production` environment, `MY_KV.get("KEY")` will read from the namespace ID `a825455ce00f4f7282403da85269f8ea`.
-To insert a value into a `staging` KV namespace, run:
+To insert a value into a `staging` Workers KV namespace, run:
```sh
wrangler kv key put --env=staging --binding= "" ""
@@ -39,14 +39,14 @@ wrangler kv key put --namespace-id= "" ""
:::caution
-Since version 3.60.0, Wrangler KV commands support the `kv ...` syntax. If you are using versions of Wrangler below 3.60.0, the command follows the `kv:...` syntax. Learn more about the deprecation of the `kv:...` syntax in the [Wrangler commands](/kv/reference/kv-commands/) for KV page.
+Since version 3.60.0, Wrangler Workers KV commands support the `kv ...` syntax. If you are using versions of Wrangler below 3.60.0, the command follows the `kv:...` syntax. Learn more about the deprecation of the `kv:...` syntax in the [Wrangler commands](/kv/reference/kv-commands/) for Workers KV page.
:::
Most `kv` subcommands also allow you to specify an environment with the optional `--env` flag.
-Specifying an environment with the optional `--env` flag allows you to publish Workers running the same code but with different KV namespaces.
+Specifying an environment with the optional `--env` flag allows you to publish Workers running the same code but with different Workers KV namespaces.
-For example, you could use separate staging and production KV namespaces for KV data in your `wrangler.toml` file:
+For example, you could use separate staging and production Workers KV namespaces for KV data in your `wrangler.toml` file:
```toml
type = "webpack"
@@ -66,9 +66,9 @@ kv_namespaces = [
]
```
-With the `wrangler.toml` file above, you can specify `--env production` when you want to perform a KV action on the KV namespace `MY_KV` under `env.production`.
+With the `wrangler.toml` file above, you can specify `--env production` when you want to perform a KV action on the Workers KV namespace `MY_KV` under `env.production`.
-For example, with the `wrangler.toml` file above, you can get a value out of a production KV instance with:
+For example, with the `wrangler.toml` file above, you can get a value out of a production Workers KV instance with:
```sh
wrangler kv key get --binding "MY_KV" --env=production ""
diff --git a/src/content/docs/kv/reference/kv-commands.mdx b/src/content/docs/kv/reference/kv-commands.mdx
index 0cbd0cc3f3805e..b84bfdc5804e9d 100644
--- a/src/content/docs/kv/reference/kv-commands.mdx
+++ b/src/content/docs/kv/reference/kv-commands.mdx
@@ -1,6 +1,6 @@
---
pcx_content_type: reference
-title: Wrangler KV commands
+title: Wrangler Workers KV commands
sidebar:
order: 2
---
diff --git a/src/content/docs/kv/tutorials/index.mdx b/src/content/docs/kv/tutorials/index.mdx
index 8c6d1ad13cc7c5..9d5cacb475b0d7 100644
--- a/src/content/docs/kv/tutorials/index.mdx
+++ b/src/content/docs/kv/tutorials/index.mdx
@@ -9,6 +9,6 @@ sidebar:
import { GlossaryTooltip, ListTutorials } from "~/components"
-View tutorials to help you get started with KV.
+View tutorials to help you get started with Workers KV.
diff --git a/src/content/docs/kv/workers-kv-api.mdx b/src/content/docs/kv/workers-kv-api.mdx
index fb7bee6e30ca23..5059a24ac5ab07 100644
--- a/src/content/docs/kv/workers-kv-api.mdx
+++ b/src/content/docs/kv/workers-kv-api.mdx
@@ -1,6 +1,6 @@
---
pcx_content_type: navigation
-title: KV REST API
+title: Workers KV REST API
external_link: /api/operations/workers-kv-namespace-list-namespaces
sidebar:
order: 8
diff --git a/src/content/docs/pages/framework-guides/deploy-a-nuxt-site.mdx b/src/content/docs/pages/framework-guides/deploy-a-nuxt-site.mdx
index d115ebd1ec5a91..e39cc3f5be0220 100644
--- a/src/content/docs/pages/framework-guides/deploy-a-nuxt-site.mdx
+++ b/src/content/docs/pages/framework-guides/deploy-a-nuxt-site.mdx
@@ -88,7 +88,7 @@ Additionally, you will have access to [preview deployments](/pages/configuration
## Use bindings in your Nuxt application
-A [binding](/pages/functions/bindings/) allows your application to interact with Cloudflare developer products, such as [KV](/kv/), [Durable Objects](/durable-objects/), [R2](/r2/), and [D1](/d1/).
+A [binding](/pages/functions/bindings/) allows your application to interact with Cloudflare developer products, such as [Workers KV](/kv/), [Durable Objects](/durable-objects/), [R2](/r2/), and [D1](/d1/).
If you intend to use bindings in your project, you must first set up your bindings for local and remote development.
@@ -146,7 +146,7 @@ declare module "h3" {
In Nuxt, add server-side code via [Server Routes and Middleware](https://nuxt.com/docs/guide/directory-structure/server#server-directory). The `defineEventHandler()` method is used to define your API endpoints in which you can access Cloudflare's context via the provided `context` field. The `context` field allows you to access any bindings set for your application.
-The following code block shows an example of accessing a KV namespace in Nuxt.
+The following code block shows an example of accessing a Workers KV namespace in Nuxt.
diff --git a/src/content/docs/pages/framework-guides/deploy-a-qwik-site.mdx b/src/content/docs/pages/framework-guides/deploy-a-qwik-site.mdx
index 6f88615e4ea005..1a110bb6d9ac26 100644
--- a/src/content/docs/pages/framework-guides/deploy-a-qwik-site.mdx
+++ b/src/content/docs/pages/framework-guides/deploy-a-qwik-site.mdx
@@ -60,11 +60,11 @@ Every time you commit new code to your Qwik site, Cloudflare Pages will automati
## Use bindings in your Qwik application
-A [binding](/pages/functions/bindings/) allows your application to interact with Cloudflare developer products, such as [KV](/kv/concepts/how-kv-works/), [Durable Object](/durable-objects/), [R2](/r2/), and [D1](https://blog.cloudflare.com/introducing-d1/).
+A [binding](/pages/functions/bindings/) allows your application to interact with Cloudflare developer products, such as [Workers KV](/kv/concepts/how-kv-works/), [Durable Object](/durable-objects/), [R2](/r2/), and [D1](https://blog.cloudflare.com/introducing-d1/).
In QwikCity, add server-side code via [routeLoaders](https://qwik.builder.io/qwikcity/route-loader/) and [actions](https://qwik.builder.io/qwikcity/action/). Then access bindings set for your application via the `platform` object provided by the framework.
-The following code block shows an example of accessing a KV namespace in QwikCity.
+The following code block shows an example of accessing a Workers KV namespace in QwikCity.
```typescript null {4,5}
// ...
diff --git a/src/content/docs/pages/framework-guides/deploy-a-remix-site.mdx b/src/content/docs/pages/framework-guides/deploy-a-remix-site.mdx
index b20d18e72bc6fe..b97e1ef48c8558 100644
--- a/src/content/docs/pages/framework-guides/deploy-a-remix-site.mdx
+++ b/src/content/docs/pages/framework-guides/deploy-a-remix-site.mdx
@@ -76,7 +76,7 @@ npm run deploy
## Create and add a binding to your Remix application
To add a binding to your Remix application, refer to [Bindings](/pages/functions/bindings/).
-A [binding](/pages/functions/bindings/) allows your application to interact with Cloudflare developer products, such as [KV namespaces](/kv/concepts/how-kv-works/), [Durable Objects](/durable-objects/), [R2 storage buckets](/r2/), and [D1 databases](/d1/).
+A [binding](/pages/functions/bindings/) allows your application to interact with Cloudflare developer products, such as [Workers KV namespaces](/kv/concepts/how-kv-works/), [Durable Objects](/durable-objects/), [R2 storage buckets](/r2/), and [D1 databases](/d1/).
### Binding resources in local development
diff --git a/src/content/docs/pages/framework-guides/deploy-a-svelte-site.mdx b/src/content/docs/pages/framework-guides/deploy-a-svelte-site.mdx
index f2cea8632e056b..b9c0d5ebd608fe 100644
--- a/src/content/docs/pages/framework-guides/deploy-a-svelte-site.mdx
+++ b/src/content/docs/pages/framework-guides/deploy-a-svelte-site.mdx
@@ -61,7 +61,7 @@ const config = {
export default config;
```
-3. (Needed if you are using TypeScript) Include support for environment variables. The `env` object, containing KV namespaces and other storage objects, is passed to SvelteKit via the platform property along with context and caches, meaning you can access it in hooks and endpoints. For example:
+3. (Needed if you are using TypeScript) Include support for environment variables. The `env` object, containing Workers KV namespaces and other storage objects, is passed to SvelteKit via the platform property along with context and caches, meaning you can access it in hooks and endpoints. For example:
```diff
declare namespace App {
@@ -84,7 +84,7 @@ declare namespace App {
```
-4. Access the added KV or Durable objects (or generally any [binding](/pages/functions/bindings/)) in your endpoint with `env`:
+4. Access the added Workers KV or Durable Objects (or generally any [binding](/pages/functions/bindings/)) in your endpoint with `env`:
```js
export async function post(context) {
diff --git a/src/content/docs/pages/framework-guides/deploy-an-analog-site.mdx b/src/content/docs/pages/framework-guides/deploy-an-analog-site.mdx
index bf19694e41f427..a296f6b7ba892f 100644
--- a/src/content/docs/pages/framework-guides/deploy-an-analog-site.mdx
+++ b/src/content/docs/pages/framework-guides/deploy-an-analog-site.mdx
@@ -37,13 +37,13 @@ The final step of the C3 workflow will offer to deploy your application to Cloud
## Bindings
-A [binding](/pages/functions/bindings/) allows your application to interact with Cloudflare developer products, such as [KV](/kv/), [Durable Objects](/durable-objects/), [R2](/r2/), and [D1](/d1/).
+A [binding](/pages/functions/bindings/) allows your application to interact with Cloudflare developer products, such as [Workers KV](/kv/), [Durable Objects](/durable-objects/), [R2](/r2/), and [D1](/d1/).
If you intend to use bindings in your project, you must first set up your bindings for local and remote development.
In Analog, server-side code can be added via [API Routes](https://analogjs.org/docs/features/api/overview). The `defineEventHandler()` method is used to define your API endpoints in which you can access Cloudflare's context via the provided `context` field. The `context` field allows you to access any bindings set for your application.
-The following code block shows an example of accessing a KV namespace in Analog.
+The following code block shows an example of accessing a Workers KV namespace in Analog.
```typescript null {2}
export default defineEventHandler(async ({ context }) => {
diff --git a/src/content/docs/pages/framework-guides/deploy-an-astro-site.mdx b/src/content/docs/pages/framework-guides/deploy-an-astro-site.mdx
index 7cf3f113c1b777..516f6540edc162 100644
--- a/src/content/docs/pages/framework-guides/deploy-an-astro-site.mdx
+++ b/src/content/docs/pages/framework-guides/deploy-an-astro-site.mdx
@@ -103,13 +103,13 @@ export default defineConfig({
## Use bindings in your Astro application
-A [binding](/pages/functions/bindings/) allows your application to interact with Cloudflare developer products, such as [KV](/kv/concepts/how-kv-works/), [Durable Object](/durable-objects/), [R2](/r2/), and [D1](https://blog.cloudflare.com/introducing-d1/).
+A [binding](/pages/functions/bindings/) allows your application to interact with Cloudflare developer products, such as [Workers KV](/kv/concepts/how-kv-works/), [Durable Object](/durable-objects/), [R2](/r2/), and [D1](https://blog.cloudflare.com/introducing-d1/).
Use bindings in Astro components and API routes by using `context.locals` from [Astro Middleware](https://docs.astro.build/en/guides/middleware/) to access the Cloudflare runtime which amongst other fields contains the Cloudflare's environment and consecutively any bindings set for your application.
-Refer to the following example of how to access a KV namespace with TypeScript.
+Refer to the following example of how to access a Workers KV namespace with TypeScript.
-First, you need to define Cloudflare runtime and KV type by updating the `env.d.ts`:
+First, you need to define Cloudflare runtime and Workers KV type by updating the `env.d.ts`:
```typescript
///
@@ -127,7 +127,7 @@ declare namespace App {
}
```
-You can then access your KV from an API endpoint in the following way:
+You can then access your Workers KV from an API endpoint in the following way:
```typescript null {3,4,5}
import type { APIContext } from "astro";
diff --git a/src/content/docs/pages/framework-guides/nextjs/ssr/caching.mdx b/src/content/docs/pages/framework-guides/nextjs/ssr/caching.mdx
index bfce53019e5680..9945a5ac3e44d3 100644
--- a/src/content/docs/pages/framework-guides/nextjs/ssr/caching.mdx
+++ b/src/content/docs/pages/framework-guides/nextjs/ssr/caching.mdx
@@ -21,7 +21,7 @@ You can configure your Next.js app to write cache entries to and read from eithe
It takes an extra step to enable, but Cloudflare recommends caching data using [Workers KV](/kv/).
-When you write cached data to Workers KV, you write to storage that can be read by any Cloudflare location. This means your app can fetch data, cache it in KV, and then subsequent requests anywhere around the world can read from this cache.
+When you write cached data to Workers KV, you write to storage that can be read by any Cloudflare location. This means your app can fetch data, cache it in Workers KV, and then subsequent requests anywhere around the world can read from this cache.
:::note
@@ -31,7 +31,7 @@ Workers KV is eventually consistent, which means that it can take up to 60 secon
:::
-To use Workers KV as the cache for your Next.js app, [add a KV binding](/pages/functions/bindings/#kv-namespaces) to your Pages project, and set the name of the binding to `__NEXT_ON_PAGES__KV_SUSPENSE_CACHE`.
+To use Workers KV as the cache for your Next.js app, [add a Workers KV binding](/pages/functions/bindings/#kv-namespaces) to your Pages project, and set the name of the binding to `__NEXT_ON_PAGES__KV_SUSPENSE_CACHE`.
### Cache API (default)
diff --git a/src/content/docs/pages/functions/bindings.mdx b/src/content/docs/pages/functions/bindings.mdx
index 833d69aae99c0e..fd0b3f92cd02df 100644
--- a/src/content/docs/pages/functions/bindings.mdx
+++ b/src/content/docs/pages/functions/bindings.mdx
@@ -7,7 +7,7 @@ sidebar:
import { Render, TabItem, Tabs } from "~/components";
-A [binding](/workers/runtime-apis/bindings/) enables your Pages Functions to interact with resources on the Cloudflare developer platform. Use bindings to integrate your Pages Functions with Cloudflare resources like [KV](/kv/concepts/how-kv-works/), [Durable Objects](/durable-objects/), [R2](/r2/), and [D1](/d1/). You can set bindings for both production and preview environments.
+A [binding](/workers/runtime-apis/bindings/) enables your Pages Functions to interact with resources on the Cloudflare developer platform. Use bindings to integrate your Pages Functions with Cloudflare resources like [Workers KV](/kv/concepts/how-kv-works/), [Durable Objects](/durable-objects/), [R2](/r2/), and [D1](/d1/). You can set bindings for both production and preview environments.
This guide will instruct you on configuring a binding for your Pages Function. You must already have a Cloudflare Developer Platform resource set up to continue.
@@ -17,13 +17,13 @@ Pages Functions only support a subset of all [bindings](/workers/runtime-apis/bi
:::
-## KV namespaces
+## Workers KV namespaces
[Workers KV](/kv/concepts/kv-namespaces/) is Cloudflare's key-value storage solution.
-To bind your KV namespace to your Pages Function, you can configure a KV namespace binding in [`wrangler.toml`](/pages/functions/wrangler-configuration/#kv-namespaces) or the Cloudflare dashboard.
+To bind your Workers KV namespace to your Pages Function, you can configure a Workers KV namespace binding in [`wrangler.toml`](/pages/functions/wrangler-configuration/#kv-namespaces) or the Cloudflare dashboard.
-To configure a KV namespace binding via the Cloudflare dashboard:
+To configure a Workers KV namespace binding via the Cloudflare dashboard:
1. Log in to the [Cloudflare dashboard](https://dash.cloudflare.com) and select your account.
2. In **Account Home**, select **Workers & Pages**.
@@ -33,7 +33,7 @@ To configure a KV namespace binding via the Cloudflare dashboard:
6. Under **KV namespace**, select your desired namespace.
7. Redeploy your project for the binding to take effect.
-Below is an example of how to use KV in your Function. In the following example, your KV namespace binding is called `TODO_LIST` and you can access the binding in your Function code on `context.env`:
+Below is an example of how to use Workers KV in your Function. In the following example, your Workers KV namespace binding is called `TODO_LIST` and you can access the binding in your Function code on `context.env`:
@@ -59,14 +59,14 @@ export const onRequest: PagesFunction = async (context) => {
-### Interact with your KV namespaces locally
+### Interact with your Workers KV namespaces locally
-You can interact with your KV namespace bindings locally in one of two ways:
+You can interact with your Workers KV namespace bindings locally in one of two ways:
- Configure your Pages project's `wrangler.toml` file and run [`npx wrangler pages dev`](/workers/wrangler/commands/#dev-1).
- Pass arguments to `wrangler pages dev` directly.
-To interact with your KV namespace binding locally by passing arguments to the Wrangler CLI, add `-k ` or `--kv=` to the `wrangler pages dev` command. For example, if your KV namespace is bound your Function via the `TODO_LIST` binding, access the KV namespace in local development by running:
+To interact with your Workers KV namespace binding locally by passing arguments to the Wrangler CLI, add `-k ` or `--kv=` to the `wrangler pages dev` command. For example, if your Workers KV namespace is bound your Function via the `TODO_LIST` binding, access the Workers KV namespace in local development by running:
```sh
npx wrangler pages dev --kv=TODO_LIST
@@ -683,7 +683,7 @@ export const onRequest: PagesFunction = async (context) => {
};
```
-
+
### Interact with your Hyperdrive binding locally
diff --git a/src/content/docs/pages/functions/plugins/index.mdx b/src/content/docs/pages/functions/plugins/index.mdx
index 1c3e961427b3b2..6ebd791dcf6fc9 100644
--- a/src/content/docs/pages/functions/plugins/index.mdx
+++ b/src/content/docs/pages/functions/plugins/index.mdx
@@ -24,7 +24,7 @@ For example, a Pages Plugin could:
* Proxy a third-party service's API.
* Validate authorization headers.
* Provide a full admin web app experience.
-* Store data in KV or Durable Objects.
+* Store data in Workers KV or Durable Objects.
* Server-side render (SSR) webpages with data from a CMS.
* Report errors and track performance.
@@ -43,7 +43,7 @@ In this example, you will build a Pages Plugin and then include it in a project.
The first Plugin should:
* intercept HTML forms.
-* store the form submission in [KV](/kv/api/).
+* store the form submission in [Workers KV](/kv/api/).
* respond to submissions with a developer's custom response.
### 1. Create a new Pages Plugin
@@ -94,7 +94,7 @@ Your Plugin should not use the mounted path anywhere in the file structure (for
:::
-You are free to use as many different files as you need. The structure of a Plugin is exactly the same as Functions in a Pages project today, except that the handlers receive a new property of their parameter object, `pluginArgs`. This property is the initialization parameter that a developer passes when mounting a Plugin. You can use this to receive API tokens, KV/Durable Object namespaces, or anything else that your Plugin needs to work.
+You are free to use as many different files as you need. The structure of a Plugin is exactly the same as Functions in a Pages project today, except that the handlers receive a new property of their parameter object, `pluginArgs`. This property is the initialization parameter that a developer passes when mounting a Plugin. You can use this to receive API tokens, Workers KV/Durable Object namespaces, or anything else that your Plugin needs to work.
Returning to your static form example, if you want to intercept requests and override the behavior of an HTML form, you need to create a `functions/_middleware.ts`. Developers could then mount your Plugin on a single route, or on their entire project.
@@ -140,7 +140,7 @@ export const onRequestPost = async (context) => {
To create a good developer experience, you should consider adding TypeScript typings to your Plugin. This allows developers to use their IDE features for autocompletion, and also ensure that they include all the parameters you are expecting.
-In the `index.d.ts`, export a function which takes your `pluginArgs` and returns a `PagesFunction`. For your static form example, you take two properties, `kv`, a KV namespace, and `respondWith`, a function which takes an object with a `formData` property (`FormData`) and returns a `Promise` of a `Response`:
+In the `index.d.ts`, export a function which takes your `pluginArgs` and returns a `PagesFunction`. For your static form example, you take two properties, `kv`, a Workers KV namespace, and `respondWith`, a function which takes an object with a `formData` property (`FormData`) and returns a `Promise` of a `Response`:
```typescript
export type PluginArgs = {
@@ -198,7 +198,7 @@ export const onRequest = (context) => {
### 7. Test your Pages Plugin
-You can use `wrangler pages dev` to test a Pages project, including any Plugins you have installed. Remember to include any KV bindings and environment variables that the Plugin is expecting.
+You can use `wrangler pages dev` to test a Pages project, including any Plugins you have installed. Remember to include any Workers KV bindings and environment variables that the Plugin is expecting.
With your Plugin mounted on the `/contact` route, a corresponding HTML file might look like this:
diff --git a/src/content/docs/pages/functions/plugins/sentry.mdx b/src/content/docs/pages/functions/plugins/sentry.mdx
index deb70780fb34bb..c7041d81500ef6 100644
--- a/src/content/docs/pages/functions/plugins/sentry.mdx
+++ b/src/content/docs/pages/functions/plugins/sentry.mdx
@@ -31,7 +31,7 @@ export const onRequest: PagesFunction = sentryPlugin({
The Plugin uses [Toucan](https://github.com/robertcepa/toucan-js). Refer to the Toucan README to [review the options it can take](https://github.com/robertcepa/toucan-js#other-options). `context`, `request`, and `event` are automatically populated and should not be manually configured.
-If your [DSN](https://docs.sentry.io/product/sentry-basics/dsn-explainer/) is held as an environment variable or in KV, you can access it like so:
+If your [DSN](https://docs.sentry.io/product/sentry-basics/dsn-explainer/) is held as an environment variable or in Workers KV, you can access it like so:
```typescript
import sentryPlugin from "@cloudflare/pages-plugin-sentry";
diff --git a/src/content/docs/pages/functions/plugins/static-forms.mdx b/src/content/docs/pages/functions/plugins/static-forms.mdx
index 25428eb24e92c5..e2e9e8b97dbd0b 100644
--- a/src/content/docs/pages/functions/plugins/static-forms.mdx
+++ b/src/content/docs/pages/functions/plugins/static-forms.mdx
@@ -39,6 +39,6 @@ export const onRequest: PagesFunction = staticFormsPlugin({