浏览器三大本地缓存中,session与local存储的内容数量有限并且不提供查询优化,而indexedDB提供了很大的存储空间,同时提供索引优化查询,因此当需要本地化缓存大量结构化数据时是一个相对不错的选择。
兼容性:支持IE10+
官网使用指南
https://developer.mozilla.org/zh-CN/docs/Web/API/IndexedDB_API/Using_IndexedDB
一. 操作
创建数据库,创建数据表对象,增删改查数据,关闭数据库,添加索引与索引查询,
游标查询(只有游标查询支持多条数据查询)
onupgradeneeded与success的区别
二. 键值生成策略
如果想使用存储对象中的属性作为键值则使用key path,想使用自定义属性作为键值则必须使用key generator来指定生成策略
[图片上传中。。。(1)]
三. 事务
在对db进行任何操作前,必须指定操作的事务范围(objectStore数组)与事务类型(只读,可写等,默认为只读),然后在事务范围中获取objectStore,对objectStore进行操作(add,get,put,delete)
四. 索引与游标
五. 安全
注意事项
- Firefox 的 Private Browsing 模式和 Chrome 的 Incognito 模式完全禁止indexedDB的使用,因此在使用它时必须提供备选方案
- 为防止webapp恶意使用indexedDB,在第一次打开时会提醒用户是否决定使用
网友评论