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(); // 初始化數據庫操作