缺少多个Realm文件/数据库?

时间:2017-03-17 17:06:31

标签: android realm

大多数示例只使用Realm.getDefaultConfiguration()进行所有存储和访问。我想知道为每个类使用不同的Realm文件是否有任何缺点(或优点,甚至)?我知道我没有,但我的库的结构(没有好的方法检查Realm是否已初始化)让我想在不同的地方有一个单独的Realm文件(或配置)。

似乎它可能具有允许我指定不同模式和迁移的优点。我知道我可以这样做,但有什么理由不这样做吗?

2 个答案:

答案 0 :(得分:2)

使用不同的领域可以帮助区分安全问题。当Realm Mobile Platform与后端Realm Object Server一起使用时,这变得更加相关,因为Realms可以在不同用户之间共享,并具有不同的权限。例如,在购物应用程序中,您可能拥有一个只读的目录领域,一个用户购物车的领域,这个领域是私有的,但在设备之间共享,以及一个可以在成员之间共享的购物清单领域。这个家庭。

如果您只是使用Realm Mobile数据库,您仍然可以使用单独的域来提高安全性。例如,对于敏感数据使用内存或加密域,对于不太关键的数据使用单独的域。

答案 1 :(得分:1)

您可以为每个不同的类构建不同的Realm。如果您觉得合适,这主要是您自己的设计决定。

当涉及Realm Mobile Platform时,每个领域实例在您尝试访问它时都会开始同步。该应用程序将尝试下载整个领域并尝试保持同步。您可能不想下载应用程序的一个类的整个集合。仅仅因为它属于同一类并不意味着该用户开始同步它是相关的。

例如,您可能拥有一个项目管理工具,其中包含多个板,其中包含多个任务。每个板都可以是一个领域,class Task。如果您尝试访问一个领域,最好只是同步该任务子集而不是整个域的任务集,然后尝试对其进行过滤。

我会尝试将不同领域划分为多个数据库,每个数据库都有自己的想法,拥有用户所有权或关注点,而不是说你应该拥有每种类型的领域。