redis過期事件


背景:目前在商城項目,訂單有過期邏輯,小伙伴提議用redis做,經討論分析,redis有key的過期事件,貌似可以實現,但是咨詢大神,好像不建議這樣用,可能會丟數據

隨便寫了段python代碼測試

1 import redis
2 
3 r = redis.Redis(host='127.0.0.1', port=6379, db=0, password='111')
4 pubsub = r.pubsub()
5 pubsub.subscribe('__keyevent@0__:expired')
6 # pubsub.subscribe('aa')
7 for item in pubsub.listen():
8     if item['type'] == 'message':
9         print(item['data'])
事件通過 Redis 的訂閱與發布功能(pub/sub)來進行分發,故需要訂閱 __keyevent@0__:expired,其中0表示dbindex
要有事件觸發還需要額外的修改redis配置notify-keyspace-events Ex(默認是空白字符串)
測試:通過redis客戶端添加key,並指定過期時間,key過期時,即會觸發事件。


免責聲明!

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



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