Skip to main content
KV Store is a lightweight, server-side key-value database for your app. Use it to cache data, ensure webhook idempotency, or store transient server state. It’s available in server functions, webhook handlers, and event handlers.

Example: Caching a response from an external API

When your app calls an external API, you don’t always need to fetch fresh data every time. With the KV Store, you can cache the response and set a TTL so it clears itself after a certain period of time.
get-users.server.ts

API

get(key: string): Promise<{ value: string } | null>

Get the value of a key. Returns null if the key does not exist.

Parameters

string
required
The key to get the value of.

set(key: string, value: string, options?: { ttlInSeconds?: number }): Promise<void>

Set the value of a key. Optionally, you can set a TTL in seconds after which the key will be deleted.

Parameters

string
required
The key to set the value of.
string
required
The value to set for the key.
{ ttlInSeconds?: number }
The options for the key. Currently, the only option is ttlInSeconds which is the number of seconds after which the key will be deleted.

delete(key: string): Promise<void>

Delete a key.

Parameters

string
required
The key to delete.