Operate
Cache
Products that keep a cache or a job queue in Redis get their own Valkey, the BSD-licensed fork of Redis. This page shows how it runs, how to size it, and how to use your own service instead.
- It runs in the product's namespace as
<product>-valkey. - Only that product's pods reach it, with a password the base chart's controller generates into
<product>-generated. - It's a single instance. For high availability, use your own Redis-compatible service.
Profiles
Each product's chart says how it uses Valkey, as cache.profile:
| Profile | Disk | When full |
|---|---|---|
cache | none; a restart empties it | drops the least recently used keys (allkeys-lru) |
queue | a volume <product>-valkey, every write appended (appendonly, synced each second, so a crash loses at most the last second), kept when the product is uninstalled | refuses writes (noeviction) |
The profile is the product's choice, set in its chart. Don't change it: a product that queues jobs loses them on a
restart under cache.
Size it
Size it in the product's values:
cache:
memoryLimit: 512Mi
maxmemory: 200mb
size: 2Gi- The defaults are
maxmemory96mb, under amemoryLimitof 128Mi forcacheand 256Mi forqueue. - For
queue, keepmaxmemoryat about half ofmemoryLimit. Rewriting the append-only file briefly doubles memory. - The volume's
sizeandstorageClasstake effect when it's first made. To change them later, resize the PersistentVolumeClaim yourself, if its StorageClass allows it.
Your own Redis-compatible service
cache:
mode: external
external:
host: redis.example.com
port: 6380
tls: true
username: default
existingSecret: product-redis
global:
rigfab:
site:
destinations:
cache: {cidrs: [10.1.2.3/32], ports: [6380]}existingSecretis a Secret in the product's namespace with the password aspassword.passwordKeynames another key.- The product reaches the service only at
global.rigfab.site.destinations.cache. - A product whose profile is
queueneedsmaxmemory-policy noevictionand persistence on that service.