鸿蒙 NEXT 开发 - 应用数据持久化之键值型数据库
1. 应用数据持久化
应用数据持久化,是指应用将内存中的数据通过文件或数据库的形式保存到设备上。内存中的数据形态通常是任意的数据结构或数据对象,存储介质上的数据形态可能是文本、数据库、二进制文件等。
HarmonyOS 标准系统支持典型的存储数据形态,包括用户首选项、键值型数据库、关系型数据库。
用户首选项(Preferences):通常用于保存应用的配置信息。数据通过文本的形式保存在设备中,应用使用过程中会将文本中的数据全量加载到内存中,所以访问速度快、效率高,但不适合需要存储大量数据的场景。
键值型数据库(KV-Store):一种非关系型数据库,其数据以“键值”对的形式进行组织、索引和存储,其中“键”作为唯一标识符。适合很少数据关系和业务关系的业务数据存储,同时因其在分布式场景中降低了解决数据库版本兼容问题的复杂度,和数据同步过程中冲突解决的复杂度而被广泛使用。相比于关系型数据库,更容易做到跨设备跨版本兼容。
关系型数据库(RelationalStore):一种关系型数据库,以行和列的形式存储数据,广泛用于应用中的关系型数据的处理,包括一系列的增、删、改、查等接口,开发者也可以运行自己定义的 SQL 语句来满足复杂业务场景的需要。
2. 应用数据持久化-键值型数据库
2.1 概述
键值型数据库存储键值对形式的数据,当需要存储的数据没有复杂的关系模型,比如存储商品名称及对应价格、员工工号及今日是否已出勤等,由于数据复杂度低,更容易兼容不同数据库版本和设备类型,因此推荐使用键值型数据库持久化此类数据。
2.2 约束限制
设备协同数据库,针对每条记录,Key 的长度≤896 Byte,Value 的长度<4 MB。
单版本数据库,针对每条记录,Key 的长度≤1 KB,Value 的长度<4 MB。
每个应用程序最多支持同时打开 16 个键值型分布式数据库。
键值型数据库事件回调方法中不允许进行阻塞操作,例如修改 UI 组件。
2.3 常用方法
2.3.1 在生命周期函数中添加代码

编辑
2.3.2 创建一个 KVStoreUtil 工具类

编辑
2.3.3 在页面中操作数据库
版权声明: 本文为 InfoQ 作者【东林知识库】的原创文章。
原文链接:【http://xie.infoq.cn/article/f59eef97fbca6f56c2b5df1c0】。文章转载请联系作者。
评论