黑马程序员技术交流社区

标题: 【上海校区】Python实现订单超时自动取消 [打印本页]

作者: 会飞的小老虎1    时间: 2019-6-6 16:49
标题: 【上海校区】Python实现订单超时自动取消
业务场景:
用户下单之后,在规定时间内如果不完成付款,订单自动取消,并且释放库存

使用技术:
Redis键空间通知(过期回调)用户下单之后将订单id作为key,任意值作为值存入redis中,给这条数据设置过期时间,也就是订单超时的时间
启用键空间通知
默认情况下,禁用键空间事件通知。我们可以在redis.confredis-cli中(windows在redis.window-server.conf中)启用它们,如下所示:
或者使用命令行设置:
[Shell] 纯文本查看 复制代码
redis-cli config set notify-keyspace-events Ex
参数说明:
这里我们只监控过期事件,所以设置的是Ex
测试效果:
[Shell] 纯文本查看 复制代码
$ redis-cli --csv psubscribe '*'     
Reading messages... (press Ctrl-C to quit)  
"psubscribe","*",1
psubscribe '*'意味着我们想要使用模式订阅所有事件*
开启新的终端连接redis
在Python中的运用
回调函数只需拿到过期的order_id 即可实现取消订单,恢复库存的功能






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2