Readyset Docs

Setting up Cache

Deploy Readyset, add shallow caches for specific queries, and benchmark upstream vs cache head-to-head.

RDST doesn't just diagnose slow queries. It deploys Readyset caches and lets you benchmark the result.

The RDST cache workflow

The typical flow is deploy first, then cache queries, then measure:

  1. Deploy Readyset. rdst cache deploy --target prod-orders --mode docker starts a Readyset process (locally, remote via SSH, or in Kubernetes) and registers a new target for it, named <original>-cache.
  2. Add caches for specific queries. Pass a hash from the query registry to rdst cache add: typically one you found with rdst top or rdst analyze.
  3. Measure the impact. rdst query cache-compare runs the same query against the upstream database and the cache head-to-head and reports the delta.

Two other commands offer to deploy a cache for you, so you often won't run rdst cache deploy directly:

  • rdst init and rdst configure add prompt you at the end of target setup.
  • rdst audit --duration prompts before benchmarking captured queries.

If you accept either prompt, you can skip step 1 here.

# 1. Deploy
rdst cache deploy --target prod-orders --mode docker

# 2. Find a query to cache and add it
rdst top --target prod-orders
rdst cache add a1b2c3d4e5f6 --target prod-orders-cache

# 3. Measure
rdst query cache-compare a1b2c3d4e5f6 --target prod-orders --count 500

Deployment modes

rdst cache deploy supports three modes, each appropriate for a different environment:

ModeUse when
dockerYou want the simplest path: a local or remote Readyset container
systemdYou have a dedicated host for Readyset (EC2, bare metal, etc.)
kubernetesYour infrastructure runs on K8s and you want Readyset there too

Combined with --host (for remote deployment via SSH) and --script-only (generate the deploy script without running it), this gives you four real flows:

# Local Docker
rdst cache deploy --target prod-orders --mode docker

# Remote host via SSH
rdst cache deploy --target prod-orders --mode docker \
    --host 10.0.1.50 --ssh-user ubuntu --ssh-key ~/.ssh/prod.pem

# Systemd service
rdst cache deploy --target prod-orders --mode systemd

# Kubernetes
rdst cache deploy --target prod-orders --mode kubernetes \
    --namespace readyset --kubeconfig ~/.kube/config

# Generate the script without executing
rdst cache deploy --target prod-orders --mode docker --script-only

See rdst cache deploy for the full reference.

Sections in this guide

See also

  • rdst audit: the audit report ranks Readyset cache candidates across your database
  • rdst analyze: per-query cache-fit evaluation
  • Readyset QueryPilot: fully-managed caching on top of Readyset, when you want auto-discovery and deep caching