首页/数据/数据库速查/会话共享(Session Store 场景)
本包目录(495 条)
MySQL 基础与连接36 条SQL 语法52 条用户与权限21 条备份与恢复56 条主从复制与高可用53 条性能与调优57 条Redis 命令96 条
Redis 运维与场景124 条

会话共享(Session Store 场景)

把 Web 会话存 Redis 实现多实例共享登录态:session:<sid> 用 Hash 存字段、EXPIRE 做滑动过期;登录续期刷新 TTL,退出即 DEL。

数据库速查数据更新于 2026-10-12

会话读写与续期

会话读写与续期
HSET session:8f2k uid 1001 login_at 1760000000 role admin
EXPIRE session:8f2k 1800          # 30 分钟
HGETALL session:8f2k
EXPIRE session:8f2k 1800          # 每次请求滑动续期
DEL session:8f2k                  # 退出登录
# 按用户索引会话,支持踢下线:
SADD user:1001:sessions 8f2k
结构Hash 存字段(只放轻量字段);小整场可用 String+JSON
TTL滑动续期;要求「绝对过期」就另存截止时间
命名加环境前缀:prod:session:<sid>
踢下线uid->sessions Set 反向索引,遍历删除
会话数据要可重建:Redis 挂了用户重新登录即可,别把唯一权威状态只放会话里。

易错点

  • 把整个大对象序列化进会话:每次请求读写放大,还容易超时
  • 忘记续期:用户操作中途被判未登录(或反向:永不续期导致会话永不过期)

数据来源与参考

  • Redis 官方文档: 使用模式
  • 会话共享实践

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌