redis实战 -- python知识散记

Posted limeOracle

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了redis实战 -- python知识散记相关的知识,希望对你有一定的参考价值。

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

啦啦啦

以上是关于redis实战 -- python知识散记的主要内容,如果未能解决你的问题,请参考以下文章

vue知识点散记

Python3分布式爬虫(scrap+redis)基础知识和实战详解

工作中知识点散记二三

Python从入门到PY交易,基础语法,散记

Redis实现分布式锁(设计模式应用实战)

Redis实现分布式锁(设计模式应用实战)