【问题标题】:Django memcached won't cache a large template outputDjango memcached 不会缓存大型模板输出
【发布时间】:2010-12-21 03:19:10
【问题描述】:

我正在使用带有 memcached 的 Django。

在我的一个模板中,我添加了

{% cache 28800 template_browse_gene_list %}
...
{% endcache %}

块中的东西相当大,刚刚超过 1 MB;这是遍历返回大量数据的昂贵 SQL 的结果。由于 QuerySet 是惰性求值的,所以这里使用缓存可以避免 SQL,如果缓存有效的话。

当我使用 locmem 作为缓存后端时,这是可行的。我避免了 SQL 并获得缓存的结果。

当我使用 -I 4m 设置连接 memcached 时,我在详细输出中得到以下信息:

<30 new auto-negotiating client connection
30: Client using the ascii protocol
....
<30 get template.cache.template_browse_gene_list.d41d8cd98f00b204e9800998ecf8427e
>30 END
<30 connection closed.

页面一返回就显示连接关闭行,但要等很久。我认为基本上当 SQL 完成时,会出现连接关闭消息。所以基本上,这个条目没有任何东西进入 memcached。同样,这适用于 locmem。

有什么想法吗?

谢谢。

【问题讨论】:

    标签: django memcached


    【解决方案1】:

    【讨论】:

      猜你喜欢
      • 2010-12-17
      • 2015-09-17
      • 2014-03-10
      • 2017-10-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-02
      • 2012-12-30
      相关资源
      最近更新 更多