FreezeJ' Blog

python函数缓存装饰器lru_cache

2022-11-21

一些固定输入输出的函数,可以使用函数缓存提高效率。

>>> from functools import lru_cache
>>> import time
>>> 
>>> def add(val):
...   time.sleep(3)  # 模拟耗时操作
...   return val + 1
... 
>>> add(1)
2
>>> add(1)
2
>>> 
>>> @lru_cache(maxsize=32)
... def add_cache(val):
...   time.sleep(3)  # 模拟耗时操作
...   return val + 1
... 
>>> add_cache(1)
2
>>> add_cache(1)  # 瞬间返回结果
2
>>>add_cache.cache_clear()  # 清除缓存
Tags: Python