Valkey caches
Valkey is the open-source drop-in replacement for Redis we ship as managed cache. Every redis-cli command works; every Redis client library works without changes.
Provision a cache
From a project's Caches tab click + New Cache. Pick a name and a plan.
Plans are sized by memory (the dominant constraint for cache workloads). CPU comes along proportionally; disk is sized for AOF persistence (about 2× memory by default).
Connecting from your app
Same pattern as databases: from the cache's detail page, under Bound apps, pick the app and Bind. You choose the env var name (defaults to REDIS_URL) and the format - a StackExchange.Redis configuration string, or a redis:// URL. Velixir injects that one variable on the app's next deploy; bind a second cache under a different name if you need more than one.
// StackExchange.Redis works as-is
var redis = ConnectionMultiplexer.Connect(
Environment.GetEnvironmentVariable("REDIS_URL"));
Persistence
Persistence is a per-cache toggle. The Starter tier is intentionally ephemeral (pure in-memory, lost on restart) so it stays cheap and fast. Standard and above turn persistence on by default: AOF (append-only file) with fsync everysec plus a periodic RDB snapshot - strong enough to survive a pod restart without losing more than about a second of writes. Toggle it on the cache's Edit page; flipping it recreates the cache and clears in-memory data, so do it during a quiet window.
Snapshots & restore
Persistent caches snapshot to object storage every 6 hours, and you can take one on demand with Snapshot now on the cache's detail page. The Snapshots list shows what's stored; Restore reloads the cache in place from the snapshot you pick. Restore is one-click but destructive - it replaces the current keyspace - so it's gated behind typing the cache name plus an explicit acknowledgement, and the cache is briefly offline while it reloads. (Ephemeral Starter caches take no snapshots and have nothing to restore.)
Snapshots are kept for your plan's retention window - Standard 7 days, Pro 14, Scale 28. Within that window we thin them automatically: every 6-hourly snapshot is kept for the first 24 hours (so you can roll back to any point in the last day), then one snapshot per day for the rest of the window. Anything past the window is pruned. When you delete a cache, its snapshots are deleted too.
Note: caches are single-node (single-AZ) by design - the cache-miss-is-cheap pattern treats a restart as a rebuild from your database, the source of truth. There's no cache replication or HA tier.
Connecting from outside
Same as databases: open the cache's detail page and Reveal the external connection string (external access must be enabled). External traffic routes through the edge over TLS (rediss://), so redis-cli --tls - or any Redis client - works from anywhere. The AUTH password is the same one your apps use; only the host and port differ.