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。甚至还有一个 官方 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 上运行,因此您可以部署到您最喜欢的云托管服务。
文档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)自定义
- 数据库区域数量自定义
- 选择您的写入区域是