IndexedDB 事务与版本管理(结构化存储、游标与性能)
关键实践与参数
- 版本升级:在
onupgradeneeded 中创建对象仓库与索引;迁移时保证幂等。
- 事务:读写分离事务;控制批量大小与异步游标迭代。
- 性能:使用索引查询与游标范围;避免大对象存储,引入分块与压缩。
示例(伪代码)
const req = indexedDB.open('app', 2)
req.onupgradeneeded = e => {
const db = e.target.result
const store = db.createObjectStore('items', { keyPath: 'id' })
store.createIndex('by_user', 'userId', { unique: false })
}
验证方法
- 迁移演练与回滚;数据一致性检查。
- 性能基准:批量写入与查询延迟;游标遍历耗时。
- 错误监控:Quota 限制与失败处理路径。
注意事项
- 浏览器与设备差异大;提供降级与回退存储方案。
- 跨域与隐私模式限制;遵循权限与清理策略。
- 与 Service Worker 缓存协同,避免重复与不一致。
发表评论 取消回复