Key-Value存储问题咨询

我们项目里面有存储读取 K-V 值的需求,之前看到HarmonyOS的公共仓库里面有一个 MMKV,但是我们在最开始开发的时候用的API9,模拟器是X86的,不能用。 后来我基于 dataPreferences 封装了一个我们自己的DZKV。 现在升级到API11了,也有真机了,这两种 K-V 数据持久化方案,您推荐用哪一种啊,主要考虑效率和可靠性。

HarmonyOS
7天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
FengTianYa

1、Preferences(用户首选项-键值型)为应用提供Key-Value键值型的数据处理能力,支持应用持久化轻量级数据,并对其修改和查询。

使用场景:应用配置类,单条数据量较小(小于8K),数据量不超过1W条。

支持类型: number、string、boolean、Array、Array、Array类型。

存储文件:XML文件(内容明文存储),number都是按double存储,保留小数点6位。所以数字存储有精度问题,使用过程中需要考虑。

2、MMKV是基于mmap内存映射的key-value组件。底层序列化/反序列化使用protobuf实现。

支持类型: 支持存储 number、boolean、string、Set<String>类型数据存储。

存储文件:内容为编码后二进制存储,文件更小。

MMKV在插入数据时会将数据进行编码,因此写入时耗时较长,支持设置加密密钥,可靠性更好;Preferences明文存储数据,写入数据较快,适合存储一些简单的配置信息。

在使用时最好根据实际需求场景去选择使用哪一种持久化方案。

已于2024-11-1 18:03:34修改
分享
微博
QQ
微信
回复
7天前
相关问题
解决hashmap通过key取不到value
943浏览 • 1回复 待解决
mapkitxiang 问题咨询
182浏览 • 1回复 待解决
Redis key 的过期数据存储在哪里?
2717浏览 • 1回复 待解决
HarmonyOS 获取Resource中的value问题
271浏览 • 1回复 待解决
HarmonyOS 画布问题咨询
109浏览 • 1回复 待解决
HarmonyOS 录像问题咨询
312浏览 • 1回复 待解决
AppGallery Connect问题咨询
209浏览 • 1回复 待解决
requestInStream使用问题咨询
457浏览 • 1回复 待解决
jsBridge相关问题咨询
284浏览 • 1回复 待解决
HarmonyOS卡片问题咨询
195浏览 • 1回复 待解决
HarmonyOS image resizable问题咨询
242浏览 • 1回复 待解决
HarmonyOS AOT相关问题咨询
248浏览 • 1回复 待解决
HarmonyOS getRawFileContent使用问题咨询
440浏览 • 1回复 待解决
atManager.requestPermissionsFromUser问题咨询
262浏览 • 1回复 待解决
HarmonyOS 系统picker问题咨询
289浏览 • 1回复 待解决
HarmonyOS 崩溃收集问题咨询
324浏览 • 1回复 待解决
咨询下WebSocket相关问题
318浏览 • 1回复 待解决
关于数据缓存问题咨询
99浏览 • 1回复 待解决