当前位置: 首页 > 后端技术 > Python

Python中比较有用的函数操作缓存

时间:2023-03-26 02:02:25 Python

函数操作缓存,顾名思义,就是我们可以为指定的函数记住过去的参数输入和返回结果,这样当后面接收到相同的参数时,函数操作被跳过,直接返回缓存的结果值。很多朋友应该都知道Python标准库中的functools.lru_cache可以作为函数计算缓存使用,但是它的功能过于简单,没有过期时间设置等功能。相反,我们可以使用第三方库缓存器。它的基本使用方法非常简单。使用pipinstallcacher完成安装后,我们来看一个简单的例子:这里定义一个计算有一定耗时的函数,使用cacher。cachier()修饰,并使用参数stale_after设置缓存过期时间为10秒:importtimefromcachierimportcachierfromdatetimeimporttimedelta@cachier(stale_after=timedelta(seconds=10))defdemo(x:int,y:int):time.sleep(2)returnx*yforiinrange(10):print('-'*50)print(f'{i+1}thexecution')start=time.time()demo(1,1)print(f'takes{round(time.time()-start,2)}seconds')time.sleep(2)过程打印记录如下:可以观察到我们的函数遵循设定的过期时间缓存正在进行中。除此之外,cacher还有很多其他的实用功能,比如基于mongodb实现分布式存储等。近期整理了上百G的Python学习资料,包括初学电子书、教程、源码等,分享给大家他们与你免费!想上“Python编程学习圈”,发“J”免费领取