Caching
Redis is a cache only when loss is safe:
- Feed user-profile cache (
FEED_USER_PROFILE_CACHE_*), invalidated by profile events. - Media music search cache and ingest staging.
- Messaging presence (ephemeral).
Source of truth stays in Postgres. A cache miss loads from the owner service or from the local projection. Do not cache authorization decisions past the request without a revocation story. Access tokens are short-lived instead.
HTTP responses for private data are not cached at Kong. Public post preview and legal pages can be cached at the website CDN because they are public documents.