IndexedDB初体验
特点:
- 对象形式存储
- 异步 (防止锁死浏览器,localstorage是同步的
- 支持事物 (只要有一步失败,整个事物回滚
- 同源限制 (不能跨域访问数据库
- 存储空间比localstorage大 (大的多
- 支持二进制存储
我写了一个通讯录的项目,利用indexeddb在浏览器持续化端存储通讯录数据
学习自: 阮一峰浏览器数据库 & indexedDB API
我贴出大概示例:
安装:
yarn install
运行:
yarn start
// DB.ts
interface Idb {
database: string; // 数据库名称
version: number; // 版本号
db: any; // 数据库创建成功后的对象
store: any[]; // 初始化存储数据
tables: any[]; // 表选项
open(): void; // 打开数据库方法
add(): void; // 插入一条数据
read(i): void; // 读取指定数据
readAll(): void; // 读取全部数据
remove(i): void; // 移除指定数据
update(o): void; // 更新指定数据
}
init.ts
import IndexedDB from './DB';
var db_person = new IndexedDB('db_test', 1);
db_person.open(); // 初始化数据库操作
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。