请问php商城中,冻结的商品和优惠券合适触发解冻程序呢?
如题,php商城
现在我采用的方法用户下单之后冻结所下单商品,冻结时间15分钟,现在的问题是如何将过期未支付的订单商品解冻出来。
我可以写一个解冻程序,但是问题是这个程序何时触发呢?因为这个解冻程序肯定要锁表查询,如果全站任何有库存量的地方都触发的话,会不会造成数据库负担过大啊?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
1:操作的时机可以在用户访问某个具体商品页面的时候去判断是否有需要解冻的商品存在;还可以是在用户支付的时候去判断该笔是否是在15分钟有效期以及该笔订单对应的商品是否有需要解冻的订单存在,过期时间是不是结合memcache比较合适。
2:计划任务(一般在访问量较少的时候执行),但肯定不是任何有库存的商品/地方,应该是有人购买的商品。
3:如果需要解冻的太多的话是不是可以考虑使用redis, key就是订单ID,value就是过期时间等等。定期的去跑这里面的订单就可以
尝试添加一个字段表该产品已经被冻结同时保存解冻时间,在进行操作的时候都要考虑这个字段,这样子应该可以吧...