从memcache.py中可以保存在memcached中的最大对象大小:
在memcached FAQ中有两个条目:
您可以存储的最大数据大小是多少?为什么物品的尺寸限制在1兆?第一个答案是(引用,强调我的):
您可以在memcached中存储的值的最大大小为1兆字节.如果您的数据较大,请考虑客户端压缩或将值拆分为多个键.
所以我猜你的11MB文件太大了,无法放入一个memcached条目中.
如果你真的想要缓存更大的对象,你将不得不继承Django的MemcachedCache,因为它不允许你传入选项:
self._client = self._lib.Client(self._servers, pickleProtocol=pickle.HIGHEST_PROTOCOL)
Run Code Online (Sandbox Code Playgroud)
示例子类实现:
from django.core.cache.backends.memcached import MemcachedCache
class LargeMemcachedCache(MemcachedCache):
"Memcached cache for large objects"
@property
def _cache(self):
if getattr(self, '_client', None) is None:
self._client = self._lib.Client(self._servers,
pickleProtocol=pickle.HIGHEST_PROTOCOL,
server_max_value_length = 1024*1024*10)
return self._client
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1417 次 |
| 最近记录: |