Redis
Create a Redis database for caching, queues and sessions, and choose its memory, eviction policy and persistence.
Dekka runs Redis 7.4 or 8.0 in your project's region for caching, queues and sessions. Like PostgreSQL, it's private, so only services you connect to it can reach it unless you turn on its TCP proxy.
Create a Redis database
On the canvas, choose Add, then Redis. Pick a name, a Version and a Memory limit, choose what happens When memory is full, and choose Create Redis. A new database has 64 MiB unless you choose otherwise.
Redis memory across your organisation counts against one allowance: 64 MiB on Free, 512 MiB on Starter and 2 GiB on Growth. Dekka measures it every hour as redis_gb_hours, and each plan includes its allowance for a 730-hour month.
Connect a service
Drag from a service to the Redis database. The service receives REDIS_URL in the form rediss://default:<password>@<host>:6379, which uses TLS, and restarts to pick it up.
import { createClient } from "redis";
export const redis = createClient({ url: process.env.REDIS_URL });
await redis.connect();What happens when memory is full?
The memory limit is Redis's maxmemory, and the eviction policy decides what Redis does once it's reached. The default refuses new writes, which suits queues and anything you can't afford to lose. For a cache, evicting least recently used keys is the usual choice.
| In the dashboard | eviction_policy |
|---|---|
| Refuse writes when full | noeviction (default) |
| Evict least recently used keys | allkeys-lru |
| Evict least frequently used keys | allkeys-lfu |
| Evict least recently used keys with a TTL | volatile-lru |
| Evict keys closest to expiry | volatile-ttl |
| Evict random keys | allkeys-random |
The API also accepts volatile-lfu and volatile-random.
Turn persistence on or off
Persistence is on by default and writes every change to disk with Redis's append-only file, so data survives a restart. A pure cache can turn it off.
Browse keys
Select the Redis database and open Data. Keys lists keys matching a pattern such as session:*, with each key's type, time to live and the start of its value. Under Credentials, Rotate gives every connected service a new password and restarts it.
Connect from your own machine
Turn on Public TCP proxy in the database's settings to give it a public host and port. TCP proxy shows how to connect with redis-cli.