Python实现订单超时自动取消

业务场景:用户下单之后,在规定时间内如果不完成付款,订单自动取消,并且释放库存使用技术:Redis键空间通知(过期回调)用户下单之后将订单id作为key,任意值作为值存入redis中,给这条数据设置过期时间,也就是订单超时的时间启用键空间通知

默认情况下,禁用键空间事件通知。我们可以在 redis.conf 或 redis-cli中(windows在redis.window-server.conf中) 启用它们,如下所示:

Python实现订单超时自动取消



或者使用命令行设置:

redis-cli config set notify-keyspace-events Ex

参数说明:

Python实现订单超时自动取消



这里我们只监控过期事件,所以设置的是Ex

测试效果:

$ redis-cli --csv psubscribe '*'

Reading messages... (press Ctrl-C to quit)

"psubscribe","*",1

psubscribe '*'意味着我们想要使用模式订阅所有事件*

开启新的终端连接redis

Python实现订单超时自动取消



Python实现订单超时自动取消


郑州不孕不育医院:http://byby.zztjyy.com/yiyuanzaixian/zztjyy//

在Python中的运用

Python实现订单超时自动取消



回调函数只需拿到过期的order_id 即可实现取消订单,恢复库存的功能


猜你喜欢

转载自blog.51cto.com/14393794/2414258