利用redis 的key的过期时间的监听,来实现订单过期自动取消,并修改数据库的随笔...

"""前几天想要实现一下自己在订单操作上的优化,想要添加一个订单支付时间限制,

想要用redis的key过期时间去做,就取网上查了一下,复制了大神们的代码,添加了一些小的细节,

给自己留个笔记"""

import redis


# 修改/etc/redis/redis.conf --->
# 816行 打开注释notify-keyspace-events Ex,并将下面的notify-keyspace-events "" 注释

def key():
print('成功')


r = redis.Redis(host='127.0.0.1', port=6379, db=0)
r.setex('name', 'wang', 5)
sub_expire = r.pubsub()
# 事件通过 Redis 的订阅与发布功能(pub/sub)来进行分发,
# 故需要订阅 __keyevent@0__:expired,其中0表示dbindex
sub_expire.subscribe('__keyevent@0__:expired')

while True:
ex_pire = sub_expire.parse_response()
print(ex_pire[0], ex_pire[1], ex_pire[2])

if ex_pire[2] == 1:
pass
else:
keys = ex_pire[2].decode()
if keys == 'name':
key()

转载于:https://www.cnblogs.com/yxd-724185283/p/9527772.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值