会话管理(存储用户会话数据)是 Redis 最常见的生产用途之一——其速度、TTL 支持和跨服务器的共享可访问性使其非常适合可扩展的多服务器应用中的会话,解决了内存中或粘性会话方法无法解决的问题。
Redis 解决的问题
In a MULTI-SERVER app (load-balanced), where do sessions live?
✗ In-process memory (per server) → a user's session is on ONE server; subsequent
requests routed to OTHER servers don't have it (broken sessions)
✗ Sticky sessions (pin a user to one server) → uneven load, breaks on server failure
✓ A SHARED session store (Redis) → ALL servers read/write sessions from one place
→ Redis as a shared, fast session store solves the multi-server session problem.
Redis 为什么完美适应会话
✓ SHARED across all app servers → any server can access any session (stateless servers,
easy horizontal scaling, resilient to individual server failures)
✓ FAST (in-memory) → session lookups on EVERY request add minimal latency
✓ TTL → sessions auto-expire after inactivity (built-in expiry, no cleanup job)
✓ Data structures → store session data as a hash (fields) or serialized value
✓ Persistence optional → sessions can survive Redis restarts (or be ephemeral)
