如何用redis实现倒计时任务
作者:BlueNight
时间:2023-04-26
浏览:2
Redis Assistant
Redis Assistant 是一款为Redis设计的高效可视化管理与监控工具,提供多种操作模式,高效处理服务器数据。日常使用里的持续防护和信息管理会更突出,适合把安全控制放进长期使用流程中的场景。
¥19
Windows/macOS/Linux
2026-08-22
示例如下:importredisimporttimedefevent_handler(msg):'''监听到任何key过期后,得到的消息如下msg={'type':'pmessage',#返回值类型'pattern':'__keyevent@2__:expired',#来源'channel':'__keyevent@2__:expired',#实际的Channel'data
示例如下:
import redis
import time
def event_handler(msg):
'''
监听到任何key过期后,得到的消息如下
msg ={'type': 'pmessage', #返回值类型
'pattern': '__keyevent@2__:expired', #来源
'channel': '__keyevent@2__:expired', # 实际的Channel
'data': 'mykey' # key名称
}
可以根据您要监控的key进行业务判断或触发其他事件
if msg['data']=='mykey':
do....
elif msg['data']=='yourkey':
do ----
'''
print(msg)
redis_conn = redis.Redis(host='host', port='6379', db=2, password='test.123.com', decode_responses=True)
#设置过期时间2秒
redis_conn.set('mykey', 'asjdhkjashdkjahdskjahsd', ex=2)
# 订阅消息
pubsub =redis_conn.pubsub()
# 订阅key过期事件
# __keyevent@2__:expired : __keyevent@{db}__:事件
pubsub.psubscribe(**{'__keyevent@2__:expired': event_handler})
while True:
message = pubsub.get_message()
if message:
# redis_conn.set('mykey', 'asjdhkjashdkjahdskjahsd', ex=10)
print('wqwqwqwqwqwqwqwqwqwqwqwqwqwqwqwqwqwq')
else:
time.sleep(0.01)
作者最新文章
blender贴图文件在哪里查找与打开教程
2026-10-11 09:08
3ds Max动画播放卡顿或渲染跳帧的解决方法
2026-10-02 17:00
联发科天玑9600 Pro首发2nm:能效与游戏渲染技术详解
2026-09-08 16:54
Excel基础操作指南:数据录入、格式设置、公式应用与打印预览
2026-09-02 12:47
动画制作全流程:从故事板到关键帧与最终输出
2026-09-02 11:12
上一篇:
如何在 Excel 中分隔名称
下一篇:
探索OLED iPad的所有细节
热门文章
更多
精品专题
更多
Mac软件
更多
WINDOWS
更多










































