【问题标题】:Testing the cache hits for Flask-Cache测试 Flask-Cache 的缓存命中
【发布时间】:2020-03-20 00:38:55
【问题描述】:

我正在使用cache.memoize 来记忆带有 Flask-Cache 的函数。如何获取在装饰函数中设置的缓存键?在测试过程中如何测试函数是否被缓存?

from flask import Flask
from flask.ext.cache import Cache

app = Flask(__name__)
cache = Cache(app, config={'CACHE_TYPE': 'simple'})

@cache.memoize(timeout=10)
def get_news(nid, lang=None):
    return nid, lang

@app.route('/news/<str:nid>')
def news(news_id):
    return 'News: ' + get_news(news_id)

【问题讨论】:

    标签: python caching flask flask-cache


    【解决方案1】:

    使用memoize 时,缓存键是在后台生成的,永远不需要手动访问。 Flask-Cache 正在为您处理缓存和检索函数的结果。但如果您对 Flask-Cache 的工作方式感兴趣,可以look at the source。它是函数名、参数和 uuid 的散列。

    您不需要测试缓存命中,因为 Flask-Cache 已经过测试。您应该测试自己的代码,而不是库代码。但如果您对 Flask-Cache 的工作方式感兴趣,可以look at the tests。它会记住一个返回当前时间的函数,然后在休眠后检查返回是否相同。

    【讨论】:

      猜你喜欢
      • 2016-07-10
      • 2014-01-20
      • 2016-09-23
      • 2016-01-06
      • 2014-01-27
      • 2014-08-26
      • 2021-01-12
      • 1970-01-01
      相关资源
      最近更新 更多