利用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()


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM