-- time.time()
-- row.to_dict()
-- json.dumps(row.to_dict())
#!/usr/bin/env python import time def schedule_row_cache(conn,row_id, delay) : conn.zadd('delay:', row_id, delay) conn.zadd('schedule:', row_id, time.time()) def cache_rows(conn) : while not QUIT : next = conn.zrange('schedule:', 0, 0, withscores=True) now = time.time() if not next or next[0][1] > now : time.sleep(.05) continue row_id = next[0][0] delay = conn.zscore('delay:', row_id) if delay <= 0 : conn.zdel('delay:', row_id) conn.zdel('schedule:', row_id) conn.delete('inv:' + row_id) row = Inventory.get(row_id) conn.zadd('schedule:', row_id, now + delay) conn.set('inv:' + row_id, json.dumps(row.to_dict()))
-- time.time() 需要导入time库
-- import time
-- row.to_dict()
啦啦啦
本文介绍了一种基于Python实现的缓存调度机制,通过使用Redis作为数据存储,该机制能够有效地管理和更新库存数据缓存。文章详细展示了如何利用Redis的有序集合来实现定时任务和延迟任务,确保库存数据的及时刷新。

被折叠的 条评论
为什么被折叠?



