Skip to content

第七站:中间件、会话、缓存、信号与邮件 ​

课程首页 | 路线映射

本站处理横切能力:为请求关联身份,为读路径缓存副本,为提交后的通知建立显式边界。

运行入口 ​

bash
python manage.py shell
python manage.py test tickets

实现见横切能力与副作用边界和邮件、信号与会话生命周期。

交付物 ​

  • 每个响应带请求 ID,日志使用同一关联键。
  • 缓存键包含资源、用户/租户和 schema 版本。
  • 写入成功提交后才失效缓存、入队通知。
  • 信号只承担轻量旁路,不隐藏核心状态迁移。

深水边界 ​

middleware 顺序改变认证、会话、异常和响应行为。缓存中的权限结果可能在撤权后继续有效。post_save 在事务提交前触发,监听器看到“保存”不等于其他连接已经看到“提交”。

练习(先做) ​

  1. 实现请求 ID 中间件并保留调用方提供的合法 ID。
  2. 缓存工单详情,编辑后提交再失效。
  3. 对比显式服务调用、signal 与 on_commit() 的失败路径。

练习答案 | 下一站

用心记录每一步成长