Skip to main content
 首页 » 编程设计

python之Django 如何知道查询集是否被缓存使用约翰尼缓存

2025年05月04日36insus

我刚刚发现了 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,其中提到了很多关于 View /模板缓存的内容,他们使用注释时间戳方法来完成它。但我相信,这并不适用于此。

请帮忙!

请您参考如下方法:

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

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

和

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

来自 johnny cache docs