跳至主要内容
Deno 2 终于来了 🎉️
了解更多

Deno KV Beta
全球应用程序的全球数据库

在全球范围内以毫秒为单位读取您的数据。享受 ACID 事务的无缝数据一致性。使用 Deno CLI 在本地开发和测试,其中 KV 内置其中。

设置?不,谢谢

使用一行代码在任何 Deno 程序中打开 KV 存储。

无论您的代码是在本地运行,还是在全球任何一个数据中心运行,都没有关系。Deno KV 无处不在,无需设置,也无需配置。

面向 JavaScript 的数据库

Deno KV 是为 JavaScript 和 TypeScript 打造的。存储任何 JavaScript 值,从字符串到对象,无需担心序列化。

直观的基于承诺的 API 使存储、检索和删除数据变得轻而易举。

const kv = await Deno.openKv();

const key = ["users", crypto.randomUUID()];
const value = { name: "Alice" };
await kv.set(key, value);

const result = await kv.get(key);
result.value; // { name: "Alice" }
轻松扩展

从一个副项目到一个企业平台,无需配置、无需配置、无需编排。我们会处理好。

Deno KV 基于 FoundationDB,每秒可处理数百万次操作。您知道还有什么基于 FoundationDB 的吗?iCloud、Snowflake 等等。

放心地进行事务处理

Deno KV 使用 ACID 事务 写入数据,因此您永远不必担心部分写入或不一致的数据。即使您同时修改多个键也是如此。

一旦事务提交,数据就会立即持久化,因此您可以确保您的数据始终安全。

const kv = await Deno.openKv();
const change = 10;

const bob = await kv.get(["balance", "bob"]);
const liz = await kv.get(["balance", "liz"]);
if (bob.value < change) {
  throw "not enough balance";
}

const success = await kv.atomic()
  .check(bob, liz) // balances did not change
  .set(["balance", "bob"], bob.value - change)
  .set(["balance", "liz"], liz.value + change)
  .commit();
可定制的一致性

使用我们可定制的一致性级别,在延迟和一致性之间找到适合您应用程序的平衡点。Deno KV 可以适应您的独特需求,让您专注于用户。

await kv.get(key, { consistency: "eventual" });

从最近的区域以 最终一致性 读取。读取速度很快,但可能会返回过时的数据。

await kv.get(key, { consistency: "strong" });

从主区域以 强一致性 读取。读取速度较慢,但始终返回最新数据。

关注实时更新

您可以关注数据库中给定键的更改,这使得构建实时应用程序(如新闻提要、通知、分析等等)比以往更容易。

const db = await Deno.openKv();

for await (const entries of db.watch([["foo"]])) {
  entries[0].key; // ["foo"]
  entries[0].value; // "bar"
  entries[0].versionstamp; // "0100001dc33546270000"
}
在任何地方访问 Deno KV

使用独立的 开源二进制文件远程连接到任何 Deno KV 实例 的功能,根据您的喜好使用 Deno KV。甚至还有一个 官方 npm 模块,因此您可以在 Node 中访问它。

import { openKv } from "@deno/kv";

使用我们的 官方 @deno/kv npm 模块 在 Node 中使用 Deno KV。

const kv = await openKv(<KV Connect URL>);

远程连接到任何 KV 实例。

简化的本地开发

Deno CLI 上的 KV 使本地开发和生产部署变得简单。Deno CLI 上的 KV 由 SQLite 支持,确保在本地开发过程中的一致性和持久性。

不想使用 Deno Deploy?Deno KV 可以在任何 VPS 上运行,因此您可以部署到您最喜欢的云托管服务。

文档
示例
多人井字棋
  • GitHub 身份验证
  • 保存的用户状态
  • 使用 BroadcastChannel 进行实时同步

源代码实时预览

Pixelpage
  • 持久化画布状态
  • 多人协作
  • 使用 BroadcastChannel 进行实时同步

源代码实时预览

待办事项
  • Zod 模式验证
  • 使用 Fresh 构建
  • 使用 BroadcastChannel 进行实时协作

源代码实时预览

KV 定价

只需点击几下即可免费开始使用启动项目所需的一切

  • 免费

    • KV 存储
      1 GiB
    • KV 读取单元/月 (4KiB)
      450,000
    • KV 写入单元/月 (1KiB)
      300,000
    • 数据库区域数量
      1
    • 选择您的写入区域
  • 专业版

    • KV 存储
      5 GB (之后 $0.75/GiB)
    • KV 读取单元/月 (4KiB)
      1,300,000 (之后 $1/M)
    • KV 写入单元/月 (1KiB)
      900,000 (之后 $2.50/M)
    • 数据库区域数量
      自定义
    • 选择您的写入区域
  • 企业版

    • KV 存储
      自定义
    • KV 读取单元/月 (4KiB)
      自定义
    • KV 写入单元/月 (1KiB)
      自定义
    • 数据库区域数量
      自定义
    • 选择您的写入区域
所有定价信息
开始使用

使用下一代无服务器数据库加速应用程序开发