开发应用时对象数组应在什么场景下存储到数据库而非代码库?
静态只读数据存储选型规范解答
核心结论
你当前的场景优先选择存放在代码库中,不需要额外接入数据库+接口方案,属于典型的过度设计。
通用判断标准
业内针对这类无高频更新需求的只读数据,选型的通用判断逻辑如下:
- 满足以下所有条件时优先选择硬编码/静态文件存储:
- 数据更新频率低于半年1次,更新时可跟随应用版本迭代发布
- 单份数据总大小低于5MB,不会显著增加应用打包体积、拖慢初始化速度
- 不需要对数据做复杂的条件查询、分页、过滤操作,使用时以全量读取为主
- 满足以下任意条件时再选择数据库+接口方案:
- 需要不发版即可动态更新数据
- 数据量超过10MB,全量加载已经影响用户体验
- 需要基于数据字段做灵活的检索、筛选、统计操作
针对你场景的优化建议
你可以不用直接把数组塞在业务代码里,做一层简单的规范拆分即可:
- 将数组单独抽为独立的静态配置文件,比如新建
src/static/bizData.js,单独导出这份数组,和业务逻辑解耦,后续需要修改时可以快速定位 - 要是希望后续可以不用发版更新数据,也可以把数组存为独立的JSON文件,部署时放在静态资源目录下,应用初始化时请求该JSON即可,还可配置CDN缓存,读取速度远高于普通业务接口,比硬编码灵活,成本也远低于数据库方案
内容的提问来源于stack exchange,提问作者imAnIdiot123
相关产品推荐
相关产品推荐

