我目前因为内存使用率过高而在我的Google App Engine应用中遇到软错误。许多大型物体正在推动内存使用率高涨。
我想也许如果我设置并从memcache中调用它们可能会减少整体内存使用量。通过文档阅读,似乎并非如此,并且memcache的好处是减少HRD查询。
memcache会对整体记忆产生正面还是负面影响?
编辑:我知道我可以将实例类升级到F2但是我试图看看我是否可以在减少内存的同时保持最便宜的价格。
答案 0 :(得分:3)
将对象移入和移出Memcache对您的内存没有影响,除非您在Java代码或空集合中销毁这些对象。
更大的问题是内存缓存实体限制为1MB,并且不保证内存缓存。第一个限制意味着你不能将非常大的对象推入Memcache。
第二个限制意味着您无法轻松替换例如带有内存缓存的HashMap - 无法判断getValue()是否返回null,因为某个对象不存在或者因为它已从memcache中删除。因此,每次访问数据存储区时都需要额外调用,以查看对象是否确实存在。