我在数据存储中存储大型blob。这些XML文件的大小可达20mb。存储一个20mb的XML文件是可以的,但是当我需要反序列化它时,问题就出现了。
有各种各样的限制:
- 我无法从Blobstore读取超过1mb的数据
- 即使我可以,我仍然面临着5mb的RAM限制(因为我需要在反序列化之前将所有XML放入RAM)
你觉得我该如何处理?我对各种各样的解决方案都持开放态度,但希望不要涉及到使用另一个托管提供商。
您应该切换到Sax Parser,使用BlobstoreInputStream类流式处理来自Blobstore的数据。
这些库可以帮助您避免GAE RAM限制。
使用GAE后端,它们没有可配置的内存限制。