我正在寻找 Python 缓存库,但目前找不到任何东西。我需要一个简单的类似 dict
的界面,我可以在其中设置 key 及其到期时间并将它们重新缓存。有点像:
cache.get(myfunction, duration=300)
如果它存在,它将给我缓存中的项目,或者如果它不存在或已过期,则调用该函数并存储它。有人知道这样的事情吗?
最佳答案
从 Python 3.2 开始,您可以使用装饰器 @lru_cache来自 functools 库。 这是一个 Least Recently Used缓存,因此其中的项目没有过期时间,但作为快速破解它非常有用。
from functools import lru_cache
@lru_cache(maxsize=256)
def f(x):
return x*x
for x in range(20):
print f(x)
for x in range(20):
print f(x)
关于python - 有 Python 缓存库吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1427255/