summaryrefslogtreecommitdiff
path: root/ext/kv/README.md
blob: fc52c04d99745d0693d305e2130ea4dec3b41446 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# deno_kv

This crate provides a key/value store for Deno. For an overview of Deno KV,
please read the [manual](https://docs.deno.com/deploy/kv/manual).

## Storage Backends

Deno KV has a pluggable storage interface that supports multiple backends:

- SQLite - backed by a local SQLite database. This backend is suitable for
  development and is the default when running locally. It is implemented in the
  [denokv_sqlite crate](https://github.com/denoland/denokv/blob/main/sqlite).
- Remote - backed by a remote service that implements the
  [KV Connect](#kv-connect) protocol, for example
  [Deno Deploy](https://deno.com/deploy).

Additional backends can be added by implementing the `Database` trait.

## KV Connect

The KV Connect protocol allows the Deno CLI to communicate with a remote KV
database. The
[specification for the protocol](https://github.com/denoland/denokv/blob/main/proto/kv-connect.md),
and the
[protobuf definitions](https://github.com/denoland/denokv/blob/main/proto/schema/datapath.proto)
can be found in the `denokv` repository, under the `proto` directory.