redis

Redis (the open-source line). Source-built against a no-spaces install prefix; binds loopback-only.

Manifest knobs

[services.cache]
type = "redis"
version = "7.4.6"              # default; last OSS release
port = "auto"
isolation = "per-project"

Healthcheck: redis-cli -h 127.0.0.1 -p <port> PING returning PONG.

On-disk layout

<project>/.unibench-data/<service>/
└── …                          # rdb / aof files when persistence is on

Default config is in-memory only (no save directive). To enable persistence, set extra fields the Redis service-type translates into config flags — see the manifest reference for the v1 set.

Inspection drawer

  • Connection stringredis://127.0.0.1:<port>.
  • INFO keyspace summary across databases 0–15.
  • Sample keys — up to 200 keys from DB 0 with TYPE + TTL.
  • External tools — jump-out to redis-cli / RedisInsight / TablePlus.

Common gotchas

  • License watch. The blessed line stops at 7.4.x — the last release before Redis Inc. switched to a non-OSS license. v2 may swap the blessed line to Valkey (the OSS fork); we'll surface the change in the version catalog's our_notes if/when that happens.
  • AOF on macOS. Append-only-file mode on a journaled APFS volume can hit fsync latency spikes. For most local-dev cases the default (no persistence) is the right call.

Escape hatch

For a managed Redis (Upstash, ElastiCache) or Valkey, point a remote service at the upstream URL — the rest of the graph treats it the same way.