"""前幾天想要實現一下自己在訂單操作上的優化,想要添加一個訂單支付時間限制,
想要用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()