1

Realm 移动数据库的 blob 大小限制为 16MB。根据文件:

要存储大量数据,要么将其分成 16MB 的块,要么将其直接存储在文件系统中,将这些文件的路径存储在 Realm 中。

如果我们要使用 Realm Object Server 来存储我们的数据,我们应该将数据拆分成块吗?我们不希望将视频或磁盘图像存储到 Realm,但我们可以看到用户偶尔会添加大文件。

4

1 回答 1

1

Realm 移动平台不一定用于存储非常大的文件。例如,16MB 仍然是通过空中发送的重要数据块(尤其是在 3G/4G 连接上)。

正如 EpicPandaForce 所指出的,您可以将文件托管在第三方系统上,并将身份验证令牌与 URL 一起存储在 Realm 中。该系统与 S3 配合得很好,它允许您创建一个x在一段时间内有效的秘密 URL(带有嵌入式访问令牌)。

这不需要大量的工作;它只需要在服务器端正确管理您的 S3 存储桶。使用 Realm Object Server 的企业版,实际上很容易在设备需要时生成这些 URL,并且仅在需要时生成这些 URL,时间很短(通常,无论如何您都会在设备上缓存如此大的文件,所以你不会一直重新下载它们)。

或者,正如文档所示,您可以将所有内容存储为 16MB 块。请注意,这可能会增加您的存储使用量,因为实际的 Realm 文件将包含每个 16MB 的块,但事务日志也将包含相同的 16MB 块(以便合并算法可以在服务器端正常运行)。

于 2016-10-07T13:38:48.723 回答