ThinkPHP 8 接口签名与幂等实战:中间件 + Redis 防重放与重复提交

最近接了个线上的支付回调接口改造。改之前的情况是:前端下单按钮没有防抖,用户手抖点两下,后端就落两条订单;更麻烦的是有个…

ThinkPHP 8 接口防重放实战:签名、时间戳与 nonce 中间件一次写透

事情的起点是一笔重复订单。合作方那边网络抖动,客户端把同一个下单请求重发了一次,我们这边照单全收,用户被扣了两份钱。翻日…

PHP 大文件分片上传实战:秒传、断点续传与并发合并的完整实现

事情起因很普通:客户要在后台上传课程视频,单个文件两三百兆,用的是移动网络。原来那个表单直接 POST 整包,php.i…

ThinkPHP 8 订单状态别再写数字了:枚举、状态机与模型事件三步落地

先说个真事。上个月排查一个订单列表白屏的问题,最后定位到数据库里有一条 status 等于 3 的记录,而前端拿到之后去…

ThinkPHP 8 实战:事件监听搭配队列,把订单通知改造成异步流水线

上周接手了一个老项目,下单接口的控制器有一百多行,落库之后紧接着发短信、发邮件、加积分、更新销量统计,最后再写一条操作日…

asyncio TaskGroup 实战:批量请求的限流、重试与取消一次写对

先说结论:如果你现在还在用 asyncio.gather 拼那种几十上百个 URL 的批量请求,建议花十分钟把 Task…

  • 0 +

    访问总数

  • 0 +

    会员总数

  • 0 +

    文章总数

  • 0 +

    今日发布

  • 0 +

    本周发布

  • 20765 +

    运行天数

你的前景,远超我们想象