首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >有没有Python缓存库?

有没有Python缓存库?
EN

Stack Overflow用户
提问于 2009-09-15 13:42:58
回答 12查看 129.5K关注 0票数 132

我正在寻找一个Python缓存库,但到目前为止什么也找不到。我需要一个简单的dict-like接口,我可以在其中设置键和它们的到期时间,并将它们缓存回来。类似这样的东西:

代码语言:javascript
复制
cache.get(myfunction, duration=300)

如果它存在,它将从缓存中给出它,或者如果它不存在或已经过期,则调用函数并存储它。有人知道这样的事情吗?

EN

回答 12

Stack Overflow用户

发布于 2013-12-09 04:45:29

在Python3.2中,您可以使用functools库中的装饰器@lru_cache。这是一个最近使用的缓存,所以其中的项没有过期时间,但作为一个快速的技巧,它非常有用。

代码语言:javascript
复制
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)
票数 79
EN

Stack Overflow用户

发布于 2009-09-15 15:49:51

您还可以查看一下Memoize decorator。你也许可以让它做你想做的事情,而不需要太多的修改。

票数 29
EN

Stack Overflow用户

发布于 2014-05-24 05:29:03

还没有人提到过搁置。https://docs.python.org/2/library/shelve.html

它不是memcached,但看起来简单得多,可能符合您的需要。

票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1427255

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档