Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
django+;memcached:限制为1 mb的问题_Django_Memcached_Django Cache - Fatal编程技术网

django+;memcached:限制为1 mb的问题

django+;memcached:限制为1 mb的问题,django,memcached,django-cache,Django,Memcached,Django Cache,有人知道有什么解决方案可以让数据保持在1mb以上的memcached中吗 在设置之前将大数据切割成1mb数据块,并在从memcached获取数据块后合并这些数据块,这没什么大不了的。该算法对用户透明 这可以在这个片段的基础上起作用你可以要求memcached增加上限,但这通常是你做错了什么的迹象 大多数时候,当我们深入研究人们试图用更大的物体做的事情时,他们会把自己逼到一个角落,开始问一些问题,比如“好吧,现在我怎么能只要求这个物体的一部分?” 有时候,对更大的对象有合理的需求(所以我们支持这一

有人知道有什么解决方案可以让数据保持在1mb以上的memcached中吗

在设置之前将大数据切割成1mb数据块,并在从memcached获取数据块后合并这些数据块,这没什么大不了的。该算法对用户透明


这可以在这个片段的基础上起作用

你可以要求memcached增加上限,但这通常是你做错了什么的迹象

大多数时候,当我们深入研究人们试图用更大的物体做的事情时,他们会把自己逼到一个角落,开始问一些问题,比如“好吧,现在我怎么能只要求这个物体的一部分?”


有时候,对更大的对象有合理的需求(所以我们支持这一点)。

您是否检查过gzip是否有帮助?对我来说,它将我的站点地图缩减到200kb,现在它们完全适合memcached。现在,站点地图机器人在gzip方面没有任何问题。

您可以设置一个cron作业,获取站点地图(由Django的站点地图框架生成)并将其保存到文件中。然后将该文件作为静态介质提供(通过nginx或apache,当然不是通过django…)


我在缓存带有QuerySet结果的长列表时遇到了类似的问题。 MyModel.object.defer('Hugh_data_field1'、'Hugh_data_field2')有助于从结果中排除大量数据,并为我解决了这个问题。
希望也会帮助其他人。

在我的情况下,不需要获取缓存数据的一部分。我尝试缓存大的站点地图xml文件(大约1.5MB)。怎么可能提高天花板?有配置参数吗?我认为有必要为这个pourpose重新构建memcached包,不是吗?我不认为将你的sitemap.xml放入memcached有很大意义。只需批量生成并分发即可。
curl -o /path-to-static-media/sitemap.xml http://yoursite.com/view-that-generates-sitemap/sitemap.xml