【发布时间】:2010-02-18 19:39:01
【问题描述】:
有谁知道在 memcached 中保持数据大于 1mb 的任何解决方案?
在设置和从 memcached 获取后合并这些片段之前将大数据切割为 1mb 片段并没有什么大不了的。并且该算法可以对用户透明地工作。
这可以在这个sn-p http://www.djangosnippets.org/snippets/488/的基础上工作
【问题讨论】:
标签: django memcached django-cache
有谁知道在 memcached 中保持数据大于 1mb 的任何解决方案?
在设置和从 memcached 获取后合并这些片段之前将大数据切割为 1mb 片段并没有什么大不了的。并且该算法可以对用户透明地工作。
这可以在这个sn-p http://www.djangosnippets.org/snippets/488/的基础上工作
【问题讨论】:
标签: django memcached django-cache
您可以要求 memcached 增加上限,但这通常表明您做错了。
大多数时候,当我们深入研究人们试图用更大的物体做的事情时,他们会退缩到角落并开始提出诸如“好的,现在我怎么能只请求 part em> 这个对象?”
有时,需要更大的对象是合理的(因此我们支持)。
【讨论】:
您是否检查过 gzip 压缩站点地图是否有帮助?对我来说,它将我的站点地图减少到 200kb,现在它们完全适合 memcached。现在,站点地图机器人在使用 gzip 方面没有任何问题。
【讨论】:
我在缓存带有 QuerySet 结果的长列表时遇到了类似的问题。 MyModel.object.defer('huge_data_field1','huge_data_field2') 帮助从结果中排除了大量数据并为我解决了问题。 希望也能帮助别人。
【讨论】:
您可以设置一个 cron 作业来获取站点地图(由 Django 的站点地图框架生成)并将其保存到文件中。然后将该文件作为静态媒体提供(通过 nginx 或 apache,而不是通过 django 当然......)
curl -o /path-to-static-media/sitemap.xml http://yoursite.com/view-that-generates-sitemap/sitemap.xml
【讨论】: