什么是IndexedDB
内置于浏览器中的noSql数据库
使用场景:
客户端需要存储大量数据
最大存储空间是动态的——它取决于您的硬盘大小
IndexedDB特点
(1) 非关系型数据库(NoSql)
(2)键值对存储—每一个数据记录都有对应的主键,主键不能重复
(3)异步操作—不会锁死浏览器
(4)支持事务—可回滚
(5)同源策略—每个数据库对应创建它的域名
(6)存储容量大—显著
(7)支持索引index
(8)支持游标cursor
(9)支持二进制储存—可以储存二进制数据(ArrayBuffer 对象和 Blob 对象)
什么是Dexie.js
IndexedDB的开源封装器
Dexie是W3Techs.com排名前30的js库之一
Dexie.js客户:101,080个网站 eg:沃尔玛 、微软代办、 WhatsAp等
优势:
1.IndexedDB原生接口难用, Dexie.js语法简单友好
2.异步API,几乎所有方法都有回调
3.支持原生方法
Dexie.js的使用
(1)安装dexie
npm install dexie
(2)使用dexie
db.version(1).stores({ items: '++id, name,query' }) await db.items.put({
await db.items.put({
id: 2,
name: 'formData.model',
query: JSON.stringify(val)
})
db.items.delete(1)