lru_cache缓存
缓存是一种将定量数据加以保存以备迎合后续获取需求的处理方式,旨在加快数据获取的速度。数据的生成过程可能需要经过计算,规整,远程获取等操作,如果是同一份数据需要多次使用,每次都重新生成会大大浪费时间。所以,如果将计算或者远程请求等操作获得的数据缓存下来,会加快后续的数据获取需求
functools.lru_cache
l ru_cache缓存的简单实用
import time
import functools
@functools.lru_cache(maxsize=12)
def show_func(x):
time.sleep(2)
return x
print(show_func(1))
print(show_func(2))
print(show_func(2))
在这个函数中我们加了一个sleep,所以2s后才会打印出结果,但因为
show_func(2)的结果被缓存了,所以第二次调用这个函数可以直接得到结果
其他参数:
maxsize: 可以简单理解为最多可以缓存多少种不同的结果,默认为空(缓存所有的)。
# 查看缓存信息
print(show_func.cache_info()) # CacheInfo(hits=1, misses=2, maxsize=12, currsize=2)
# 清除缓存
show_func.cache_clear()
print(show_func.cache_info()) # CacheInfo(hits=0, misses=0, maxsize=12, currsize=0)
本文来自博客园,作者:长情不羁的五年,转载请注明原文链接:https://www.cnblogs.com/grlend/p/15414101.html

浙公网安备 33010602011771号