python - 有 Python 缓存库吗?

标签 python caching

我正在寻找 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/

相关文章:

python - 暗示类正在实现协议(protocol)的正确方法?

python - 如何在seaborn中将matplotlib颜色图设置为调色板

Python - 解析字符串并将其转换为列表

javascript - IE 缓存问题破坏了我的查找字段

linux - 在 CircleCi 作业中恢复缓存时权限被拒绝

python - Pyramid 调试工具栏导致内存 "leak"

python - 使用 Boto 启动已停止的 EC2 实例

asp.net - 客户端未在 IIS 7.5 中加载新内容

database - DynamoDB DAX 是否可横向扩展?

python - SQLAlchemy:如何遍历子查询中的bindparam值?