使用 Realm 文件 - React Native SDK
Realm 是 Realm 数据库中用于组织数据的核心数据结构。 从本质上讲,Realm 是应用程序中使用的对象(称为 Realm 对象)以及描述对象的其他元数据的集合。
Realm 文件
Realm 将 Realm 中每个对象和类型的二进制编码版本存储在单个 .realm
文件中。 该文件位于您在打开 Realm 时定义的特定路径。
提示
在生产应用程序中实施压缩
每个生产应用程序都应实施shouldCompactOnLaunch
回调,以定期减小 Realm 文件的大小。
辅助文件
Realm 会为每个 Realm 创建附加文件:
realm 文件,后缀为 "realm",例如
default.realm
:包含对象数据。锁定文件,后缀为 "lock",例如
default.realm.lock
:跟踪 Realm 中哪些数据版本正在使用中。 这可以防止 Realm 回收客户端应用程序仍在使用的存储空间。note 文件,后缀为 "note",例如
default.realm.note
:启用线程间和进程间通知。管理文件,后缀为“管理”,例如
default.realm.management
:内部状态管理。
如果在 Realm 的一个或多个实例打开时删除 Realm 文件或其任何辅助文件,则可能会损坏该 Realm 或中断同步。
当 Realm 的所有实例都关闭时,您可以安全地删除这些文件。 在删除 Realm 文件之前,请确保备份所有重要对象,否则会丢失 Realm 中的所有未同步数据。
内存 Realms
您还可以完全在内存中打开 Realm,这样不会创建.realm
文件或其关联的辅助文件。 相反,SDK 在 Realm 打开时将对象存储在内存中,并在所有实例关闭时立即丢弃这些对象。
查找 Realm 文件路径
Realm 文件位于特定路径,您可以选择在打开 Realm 时定义该路径。
// Open a realm. const realm = await Realm.open({ schema: [Car], }); // Get on-disk location of the Realm const realmFileLocation = realm.path; console.log(`Realm file is located at: ${realm.path}`);