我将大型 Blob 存储在数据存储中。这些是最大 20mb 的 XML 文件。存储一个 20mb 的 XML 文件很好,但是当我需要反序列化它时问题就来了。
这有各种各样的限制:
- 我无法从 Blobstore 读取超过 1mb 的内容
- 即使我可以,我仍然面临 5mb RAM 的限制(因为我需要在反序列化之前将所有 XML 放入 RAM)
你说我怎么能应付?我对各种解决方案持开放态度,但希望不涉及使用其他托管服务提供商。
我将大型 Blob 存储在数据存储中。这些是最大 20mb 的 XML 文件。存储一个 20mb 的 XML 文件很好,但是当我需要反序列化它时问题就来了。
这有各种各样的限制:
你说我怎么能应付?我对各种解决方案持开放态度,但希望不涉及使用其他托管服务提供商。
您应该切换到Sax解析器,使用BlobstoreInputStream类从 Blobstore 流式传输数据。
这些库应该可以帮助您避免 GAE RAM 限制。
与GAE 后端一起使用,它们没有可配置的内存限制。