python lru_cache装饰器的作用
ru_cache装饰器实现了备忘功能,能够优化函数执行速度,他把耗时的函数的结果保存起来,避免传入相同参数时重复计算,但是他的缓存也不会无限增长,一段时间不用的条目会删除。被lru_cache装饰的函数的参数必须时可散列的。
lru_cache有两个可选参数:
- maxsize:指定存储多少个调用的结果。
- typed:True 把不同参数类型得到的结果分开保存,即相同的浮点数和整数区分开。
from functools import lru_cache
@lru_cache(maxsize=128, typed=False)
def func():
pass