我在 django 1.4.1 项目中使用了数据库和基于文件的缓存。我有超过 100 000 个元素需要缓存,它们缓存了 48 小时。但缓存中的元素消失得太早,缓存覆盖率约为 10%。
例如,主页应该在 48 小时内只生成一次,但它从缓存中获取的只有 30% 的命中,其他 70% 的请求没有找到缓存版本并重新生成主页。
cache_time = 60*60*24*2
body_html = cache.get('index')
if not body_html:
body_html = generate_page_html_content()
cache.set('index', body_html, cache_time)
#do something with body_html
对于 db 缓存SELECT count(*) FROM cache;
返回 224 个缓存项,但应该有更多。有什么问题?