Redis caching is supported for production use. It is the recommended approach for sharing cached data across multiple Orchestrator instances.
Redis is used for caching, not for session storage. These are configured separately. See Sessions for session store configuration.
Use Cases
- Multi-node deployments — share cached data across multiple Orchestrator instances behind a load balancer so any node can serve any request
- External durability — persist cached data in Redis so it survives Orchestrator restarts
Setup
- Console UI
- Configuration
Redis caches are configured per deployment under Orchestrator Settings.
Open Redis cache settings
Navigate to Deployments, select a deployment, and click Add in the Redis Caches section.
Set the cache name
Enter a Name to identify this cache. Modes that support caching reference the cache by this name. Do not use
local_default — it is reserved for the built-in local cache.Add Redis server addresses
Enter at least one Address in
host:port format (e.g., redis.example.com:6379). Click Add Redis Address to add additional servers.Configure authentication
Optionally enter a Redis Cache Username and Redis Cache Password. These must match credentials generated via Redis access control lists (ACL).
Configure TLS
TLS is enabled by default. Set the Min Version (default: 1.2) and optionally provide a CA Path for self-signed certificates. Disable the Enable TLS toggle if your Redis server does not use TLS.
Configure encryption and hashing
Encryption is enabled by default. The Orchestrator encrypts cached values client-side using AES-256-GCM before sending them to Redis, so data is protected at rest in the external cache. Enter a Current Key — a 64-character hex string (generate one with
openssl rand -hex 32). To rotate keys, add the previous key to Old Keys — the Orchestrator will use old keys to decrypt existing data while encrypting new data with the current key. Use the Disable Encryption toggle only if your Redis instance already provides encryption at rest.Hashing is enabled by default. The Orchestrator hashes cache keys before storing or looking up data, ensuring that key names in Redis do not contain sensitive information. Use the Disable Hashing Keys toggle only if you need to inspect raw cache keys in Redis (e.g., for debugging).Examples
Minimal Redis cache
Minimal Redis cache
A single Redis server with client-side encryption and key hashing enabled. This is the simplest production-ready configuration for sharing cached data across Orchestrator instances.
maverics.yaml
Redis with TLS and authentication
Redis with TLS and authentication
Secure the Redis connection with a named TLS profile and authenticate with username and password. The TLS profile references a CA certificate for verifying the Redis server’s certificate.
maverics.yaml
Redis cluster with multiple addresses
Redis cluster with multiple addresses
When using Redis in a clustered or sentinel configuration, provide multiple server addresses. The Orchestrator connects to the available servers for high availability.
maverics.yaml
Encryption key rotation
Encryption key rotation
Rotate encryption keys without downtime by adding the old key to the
old list. The Orchestrator encrypts new data with the current key and decrypts existing data with either the current or old keys. Once all data encrypted with the old key has expired or been rewritten, remove the old key.maverics.yaml
Troubleshooting
- Connection refused — verify Redis is accessible from the Orchestrator host. Check that the address and port are correct and that firewalls allow the connection.
- Authentication errors — confirm the username and password are correct. If using a secret reference, ensure the secret provider is configured and the secret resolves.
- TLS handshake failures — for Redis with TLS, ensure the named TLS profile includes the correct CA certificate. Verify the Redis server’s certificate is trusted.
- Encryption key errors — check that the encryption key secret reference resolves correctly. The key must be a 64-character hex string (32 bytes). Generate a valid key with
openssl rand -hex 32.
Related Pages
Caches
Overview of cache types and production support status
Service Extensions
Read and write cache entries from Service Extensions via the api.Cache() interface
Secret Providers
Store passwords and encryption keys securely with secret references
Transport Layer Security (TLS)
Secure Redis connections with named TLS profiles