业务场景:用户下单之后 , 在规定时间内如果不完成付款 , 订单自动取消 , 并且释放库存使用技术:redis键空间通知(过期回调)用户下单之后将订单id作为key , 任意值作为值存入redis中 , 给这条数据设置过期时间 , 也就是订单超时的时间启用键空间通知
默认情况下 , 禁用键空间事件通知 。我们可以在redis.conf或redis-cli中(windows在redis.window-server.conf中)启用它们 , 如下所示:
文章插图
或者使用命令行设置:
redis-cli config set notify-keyspace-events Ex
参数说明:
文章插图
这里我们只监控过期事件 , 所以设置的是Ex
测试效果:
$ redis-cli --csv psubscribe '*'
Reading messages... (press Ctrl-C to quit)
"psubscribe","*",1
【Python实现订单超时自动取消】psubscribe '*'意味着我们想要使用模式订阅所有事件*
开启新的终端连接redis
文章插图
文章插图
在Python中的运用
文章插图
回调函数只需拿到过期的order_id 即可实现取消订单 , 恢复库存的功能
推荐阅读
- 最实用的20个 Python系统运维常用库,学Python要认真
- Python类方法和静态方法、魔法函数
- Python搭建开发环境-Anaconda+PyCharm的安装和入门教程
- Linux到底怎样实现「写时拷贝」?其实很简单
- 量子纠缠如何实现通信?
- 如何利用生姜红茶进行减肥三个步骤教你实现
- PHP实现地址自动识别实例
- JavaScript 表单验证如何实现的?
- Python 操作 MySQL 的5种方式
- Python面向对象之继承、重写与重载