网站申请微信登录网上定做相册
2026/1/11 22:33:40 网站建设 项目流程
网站申请微信登录,网上定做相册,做网站什么一级导航二级导航,泰州网站制作推广HarmonyOS 应用数据持久化概述#xff1a;Preferences、KV-Store、RelationalStore 到底怎么选#xff1f; 更新时间#xff1a;2025-12-11 11:47#xff08;结合我平时做 HarmonyOS 项目时的理解#xff0c;整理成一篇“能直接拿去用”的笔记#xff09; 做应用迟早会遇…HarmonyOS 应用数据持久化概述Preferences、KV-Store、RelationalStore 到底怎么选更新时间2025-12-11 11:47结合我平时做 HarmonyOS 项目时的理解整理成一篇“能直接拿去用”的笔记做应用迟早会遇到一个问题数据放在内存里一退出就没了。所以我们得把数据“落地”——这就是数据持久化把内存里的对象/结构保存成文件、数据库、二进制等形式放到设备上下次打开还能恢复。鸿蒙开发者第四期活动HarmonyOS 标准系统里最典型、最常用的三种持久化形态就是用户首选项Preferences存配置、小数据读取很快键值型数据库KV-Store非关系型键值对适合业务关系不复杂、还想做分布式同步关系型数据库RelationalStore表格形式行/列支持 SQL、复杂查询还提供向量数据库能力相似度检索下面我按“你到底该用哪个 怎么用 踩坑点”讲清楚。1Preferences保存“配置项”的首选适合什么场景一句话只存配置不存业务大数据。常见例子是否开启深色模式是否第一次启动引导页开关上次登录账号不建议存密码用户选择的语言、字体大小、开关项它的特点优缺点✅访问快、效率高因为使用时会全量加载到内存✅写法简单❌不适合存大量数据数据多了全量加载会拖慢、也不优雅❌ 不适合复杂查询它就是配置存储你怎么选如果你在纠结“这个东西是不是一堆开关/小配置”是的话就 Preferences。伪代码示例理解思路就行你写博客可以用“思路式”代码读者更容易懂// 伪代码保存一个开关配置 // set(darkMode, true) // get(darkMode) - true2KV-Store键值型数据库业务数据不复杂 想要分布式更友好适合什么场景一句话数据之间关系不强但属于业务数据而且你可能会考虑分布式/跨设备。常见例子购物车key商品idvalue数量/详情消息未读数key会话idvalue未读数用户草稿key草稿idvalue草稿内容一些结构化但不需要表关联的数据它的特点优缺点✅ 非关系型key-value 组织上手快✅更容易做跨设备跨版本兼容因为数据模型简单✅ 分布式场景里能减少版本兼容/冲突处理复杂度❌ 不擅长复杂关联查询比如 join、多表统计❌ 如果你硬拿 KV 去做复杂数据结构会越来越难维护你怎么选如果你发现你要存的数据是这种形式“我只要通过一个 key 快速拿到对应 value”“我不想写 SQL”“后面可能要做多端数据同步”那 KV-Store 很合适。伪代码示例// key draft_1001 // value { title: ..., content: ..., updatedAt: 123456 } put(key, value) get(key) delete(key)3RelationalStore关系型数据库最强、最常用的业务数据库适合什么场景一句话只要你的数据能落到“表格行/列”而且你要做查询/筛选/排序/统计就用它。常见例子订单、商品、用户、地址典型业务数据学习计划、错题本、打卡记录笔记、分类、标签多对多关系任何需要“条件查询”的内容按时间、按关键字、按类型筛选它的特点优缺点✅ 支持增删改查 自定义 SQL✅ 适合复杂业务索引、排序、分页、统计✅ 数据结构清晰长期维护更稳❌ 学习成本稍高表设计、字段、SQL 思维❌ 设计不好会导致后期改表麻烦但这是所有关系库的通病重点它还提供“向量数据库能力”这个是很多人会忽略的点RelationalStore 里还能做向量相似度计算适合推荐相似内容推荐相似图片检索NLP 语义检索比如“我搜这句话找最像的笔记/文档”一句人话解释你可以把文本/图片变成向量embedding存进库里然后用“相似度”去找最接近的内容。4到底怎么选我给你一个“秒选表”只存开关/配置/少量字段→ ✅ Preferenceskey-value 结构业务关系少还可能分布式→ ✅ KV-Store需要查询、筛选、排序、分页、统计、多表关系→ ✅ RelationalStore要做语义检索/推荐/相似度→ ✅ RelationalStore向量能力5我自己项目里的“组合用法”最实用真实开发里基本不会只用一种通常是Preferences放“设置项”主题、引导页、用户偏好RelationalStore放“核心业务数据”订单/笔记/错题/计划KV-Store放“轻量业务缓存/跨端同步更合适的数据”这样逻辑清楚后期也不容易乱。6最后一句话总结Preferences 配置存储KV-Store key-value 业务数据分布式友好RelationalStore 正经数据库SQL 复杂业务 向量检索

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询