distributeddatamgr_preferences:基于OpenHarmony的轻量级键值存储组件项目

暂无描述

分支317Tags47
文件最后提交记录最后更新时间
5 个月前
3 年前
17 天前
18 天前
1 个月前
2 年前
5 年前
3 年前
1 个月前
5 年前
1 年前
2 年前
1 个月前
1 年前

首选项(Preferences)部件

简介

首选项(Preferences) 主要提供轻量级Key-Value操作,支持本地应用存储少量数据,数据存储在本地文件中,同时也加载在内存中,所以访问速度更快,效率更高。首选项提供非关系型数据存储,不宜存储大量数据,经常用于操作键值对形式数据的场景。

  1. 本模块提供首选项的操作类,应用通过这些操作类完成首选项操作。
  2. 借助getPreferences,可以将指定文件的内容加载到Preferences实例,每个文件最多有一个Preferences实例,系统会通过静态容器将该实例存储在内存中,直到主动从内存中移除该实例或者删除该文件。
  3. 获取Preferences实例后,可以借助Preferences类的函数,从Preferences实例中读取数据或者将数据写入Preferences实例,通过flush将Preferences实例持久化。

以下是几个基本概念:

  • Key-Value数据库

    一种以键值对存储数据的一种数据库。Key是关键字,Value是值。

  • 非关系型数据库

    区别于关系数据库,不保证遵循ACID(Atomic、Consistency、Isolation及Durability)特性,不采用关系模型来组织数据,数据之间无关系,扩展性好。

  • 偏好数据

    用户经常访问和使用的数据。

图 1 首选项部件架构图

用户程序通过JS接口调用首选项部件,首选项部件读写对应的数据文件

目录

//foundation/distributeddatamgr/preferences
├── frameworks            # 框架层代码
│   └── js                # JS API的实现
│   │   └── napi          # napi代码实现
│   └── native            # 内部接口实现
├── interfaces            # 接口代码
│   └── inner_api         # 内部接口声明
└── test                  # 测试用例
    ├── js                # js用例
    └── native            # C++用例

约束

  • Key键为String类型,要求非空且长度不超过1024个字符。

  • 如果Value值为String类型,可以为空但是长度不超过16 * 1024 * 1024个字符。

  • 存储的数据量应该是轻量级的,建议存储的数据不超过一万条,否则会在内存方面产生较大的开销。

相关仓