python 时间限制_如何在python中使用时间限制进行缓存

展开全部

可以试试装饰器62616964757a686964616fe78988e69d8331333431333935def cache(fn=None,time_to_live=3600*24): # one DAY default (or whatever)

if not fn: return functools.partial(cache,time_to_live=time_to_live)

my_cache = {}

def _inner_fn(*args,**kwargs)

kws = sorted(kwargs.items()) # in python3.6+ you dont need sorted

key = tuple(args)+tuple(kw)

if key not in my_cache or time.time() > my_cache[key]['expires']:

my_cache[key] = {"value":fn(*args,**kwargs),"expires":time.time()+ time_to_live}

return my_cache[key]

return __inner_fn

@cache(time_to_live=3600) # an hour

def my_sqrt(x):

return x**0.5@cache(time_to_live=60*30) # 30 mins

def get_new_emails():

return my_stmp.get_email_count()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值