从Blobstore中取消序列化大型blob



我在数据存储中存储大型blob。这些XML文件的大小可达20mb。存储一个20mb的XML文件是可以的,但是当我需要反序列化它时,问题就出现了。

有各种各样的限制:

  • 我无法从Blobstore读取超过1mb的数据
  • 即使我可以,我仍然面临着5mb的RAM限制(因为我需要在反序列化之前将所有XML放入RAM)

你觉得我该如何处理?我对各种各样的解决方案都持开放态度,但希望不要涉及到使用另一个托管提供商。

您应该切换到Sax Parser,使用BlobstoreInputStream类流式处理来自Blobstore的数据。
这些库可以帮助您避免GAE RAM限制。

使用GAE后端,它们没有可配置的内存限制。

最新更新