Common production mistakes:
1) Cache backend without compression.
2) Low `maxmemory` + eviction with `volatile-lru`.
3) Sessions in Redis with incorrect TTL.
4) Shared cache prefixes across apps.
5) `save` on sessions every request due to custom modules.
Quick checklist:
- Use `allkeys-lru` for cache.
- Separate DB 0 (cache) and DB 1 (sessions).
- Verify `cache:id_prefix` per environment.
- Check hit rate with `redis-cli info`.
If hit rate is < 70%, something is broken before you touch Varnish.
Operational checklist:
- Tune `maxmemory-policy` and confirm Redis isn’t evicting hot keys.
- Ensure `session.redis.disable_locking` isn’t causing ghost locks.
- Review `FPC` and `GraphQL` logs for unexpected misses.
During peak season, Redis without metrics is a black box. If you don’t see hit/miss, you’re blind.
1) Cache backend without compression.
2) Low `maxmemory` + eviction with `volatile-lru`.
3) Sessions in Redis with incorrect TTL.
4) Shared cache prefixes across apps.
5) `save` on sessions every request due to custom modules.
Quick checklist:
- Use `allkeys-lru` for cache.
- Separate DB 0 (cache) and DB 1 (sessions).
- Verify `cache:id_prefix` per environment.
- Check hit rate with `redis-cli info`.
If hit rate is < 70%, something is broken before you touch Varnish.
Operational checklist:
- Tune `maxmemory-policy` and confirm Redis isn’t evicting hot keys.
- Ensure `session.redis.disable_locking` isn’t causing ghost locks.
- Review `FPC` and `GraphQL` logs for unexpected misses.
During peak season, Redis without metrics is a black box. If you don’t see hit/miss, you’re blind.
Comments