使用Flask Cache和memcached存储简单的键值对

KRT*_*Tac 3 python caching flask flask-cache

如何使用Flask Cache存储简单的键值对?像这样的东西:

cache.set('key', 'some value')
cache.get('key')
Run Code Online (Sandbox Code Playgroud)

现在我只使用cache.cached()装饰器存储函数的返回值.该方法接缝工作,但我不知道如何在它自己超时之前手动清除该函数的缓存.

理想情况下,我希望能够根据键设置缓存值,如示例中所示.这可能使用memcached作为后端吗?

Vau*_*ein 8

Flask有一个内置的缓存方法,您可以利用Memcache它将Cache存储为键值对:

from werkzeug.contrib.cache import MemcachedCache
cache = MemcachedCache(['127.0.0.1:11211'])

def get_my_item():
    rv = cache.get('my-item')
    if rv is None:
        rv = calculate_value()
        cache.set('my-item', rv, timeout=5 * 60)
    return rv
Run Code Online (Sandbox Code Playgroud)

您可以在Flask Cache上找到更多相关信息

  • 该链接已损坏,因此我对其进行了编辑以指向网络存档版本。[该页面的现代版本](https://flask.palletsprojects.com/en/1.1.x/patterns/caching/)改为指向[Flask-Caching](https://flask-caching.readthedocs。 io/en/latest/) 扩展名。 (2认同)