有谁知道在 memcached 中保持数据大于 1mb 的任何解决方案?
在设置和从 memcached 获取后合并这些块之前将大数据切割为 1mb 块并没有什么大不了的。并且该算法可以对用户透明地工作。
有谁知道在 memcached 中保持数据大于 1mb 的任何解决方案?
在设置和从 memcached 获取后合并这些块之前将大数据切割为 1mb 块并没有什么大不了的。并且该算法可以对用户透明地工作。
您可以要求 memcached 增加上限,但这通常表明您做错了什么。
大多数情况下,当我们深入研究人们试图用更大的对象做的事情时,他们会把自己逼到角落里,开始问诸如“好的,现在我怎么才能只请求这个对象的一部分?”之类的问题。
有时,对更大的对象有合理的需求(所以我们支持)。
您是否检查过 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