2

我刚刚发现了 johnnycache,它看起来很棒。我 pip 安装了它,并将几行代码添加到我的设置中,就像文档说明的那样。

CACHES = {
    'default': {
        'BACKEND': 'johnny.backends.memcached.MemcachedCache',
        'LOCATION': '127.0.0.1:8000',
        'JOHNNY_CACHE': True,
    }
}
JOHNNY_MIDDLEWARE_KEY_PREFIX = 'jc_efl'

和中间件设置..

MIDDLEWARE_CLASSES = (
    'johnny.middleware.LocalStoreClearMiddleware',
    'johnny.middleware.QueryCacheMiddleware',
... }

我在浏览器中加载了我的网站,它运行良好,加载时间没有任何明显差异。

我想知道如何知道我检索到的查询是否实际上来自缓存。

我在 Google 和 SO 上查找了很多关于视图/模板缓存的内容,他们使用注释时间戳方法来完成它。但我相信,这不适用于这里。

请帮忙!

4

2 回答 2

1

我只是在寻找同样的东西。我认为他们打算让你使用信号

johnny.cache.signals.qc_hit- 缓存命中后触发

johnny.cache.signals.qc_miss- 缓存未命中后触发

来自约翰尼缓存文档

于 2012-11-20T20:15:37.553 回答
0

您还可以使用Django 调试工具栏(DDT) 查看每个请求运行的查询。如果 DDT 显示查询正在运行,则意味着它们是缓存未命中。

于 2013-08-07T13:39:19.877 回答