【问题标题】:Unserializing large Blobs from the Blobstore从 Blobstore 中反序列化大型 Blob
【发布时间】:2011-07-11 09:54:12
【问题描述】:

我将大型 Blob 存储在数据存储中。这些是最大 20mb 的 XML 文件。存储一个 20mb 的 XML 文件很好,但是当我需要反序列化它时问题就来了。

这有各种各样的限制:

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

你说我能怎么处理这个?我对各种解决方案持开放态度,但希望不涉及使用其他托管服务提供商。

【问题讨论】:

  • blob 只是纯文本/文本 XML
  • 5MB 内存限制是什么?您需要如何处理这些数据?
  • (澄清一下,没有也从来没有任何形式的“5mb ram 限制”)

标签: java google-app-engine blobstore


【解决方案1】:

您应该切换到 Sax 解析器,使用 BlobstoreInputStream 类从 Blobstore 流式传输数据。
这些库应该可以帮助您避免 GAE RAM 限制。

【讨论】:

  • XML 只是一个例子。想象一下它是非序列化时大于 5mb 的数据。即使使用这些库,如果数据足够大,也会超过 5mb 的限制。
  • @Luca 如果您有不同的要求,您需要说明它们,而不是期望我们猜测。
【解决方案2】:

使用GAE BackEnd 他们没有可配置的内存限制。

【讨论】:

    猜你喜欢
    • 2013-01-23
    • 1970-01-01
    • 1970-01-01
    • 2018-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-27
    • 2018-10-27
    相关资源
    最近更新 更多