Django缓存不存储所有缓存的元素

时间:2013-03-26 08:30:37

标签: django caching

我在django 1.4.1项目中使用了DB和基于文件的缓存。 我有超过10万个应缓存的元素,它们缓存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 cache SELECT count(*) FROM cache;返回了224个缓存项,但应该有更多。什么可能是错的?

1 个答案:

答案 0 :(得分:0)

以下是解决方案:https://docs.djangoproject.com/en/dev/topics/cache/#cache-arguments

我添加了MAX_ENTRIES选项并设置了限制,这对我来说很合适。