localForage
localForage 有一个优雅降级策略,若浏览器不支持 IndexedDB 或 WebSQL,则使用 localStorage。
默认情况下,localForage 按照以下顺序选择数据仓库的后端驱动:
IndexedDB
WebSQL
localStorage
使用简单:
npm install localforage
1)可以使用多实例
CREATEINSTANCE
创建并返回一个 localForage 的新实例。每个实例对象都有独立的数据库,而不会影响到其他实例。
DROPINSTANCE
调用时,若不传参,将删除当前实例的 “数据仓库” 。
调用时,若参数为一个指定了 name
和 storeName
属性的对象,会删除指定的 “数据仓库”。
调用时,若参数为一个仅指定了 name
属性的对象,将删除指定的 “数据库”(及其所有数据仓库)。
var store = localforage.createInstance({
name: "nameHere"
});
var otherStore = localforage.createInstance({
name: "otherName"
});
// 设置某个数据仓库 key 的值不会影响到另一个数据仓库
store.setItem("key1", "value1");
otherStore.setItem("key2", "value2");
// 删库
localforage.dropInstance().then(function() {
console.log('Dropped the store of the current instance').
});
localforage.dropInstance({
name: "otherName",
storeName: "otherStore"
}).then(function() {
console.log('Dropped otherStore').
});
2)可以设置驱动
如果你想强制使用特定的驱动,可以使用 setDriver(),参数为以下的某一个或多个:
- localforage.INDEXEDDB
- localforage.WEBSQL
- localforage.LOCALSTORAGE
-
// 将数据库从 “localforage” 重命名为 “Hipster PDA App” localforage.config({ name: 'Hipster PDA App' }); // 将强制使用 localStorage 作为存储驱动,即使其他驱动可用。 // 可用配置代替 `setDriver()`。 localforage.config({ driver: localforage.LOCALSTORAGE, name: 'I-heart-localStorage' }); // 配置不同的驱动优先级 localforage.config({ driver: [localforage.WEBSQL, localforage.INDEXEDDB, localforage.LOCALSTORAGE], name: 'WebSQL-Rox' });
I.属性值设置:
driver
要使用的首选驱动。与上面的 setDriver 的值格式相同。
默认值:[localforage.INDEXEDDB, localforage.WEBSQL, localforage.LOCALSTORAGE]name
数据库的名称。可能会在在数据库的提示中会出现。一般使用你的应用程序的名字。在 localStorage 中,它作为存储在 localStorage 中的所有 key 的前缀。
默认值:'localforage'size
数据库的大小(以字节为单位)。现在只用于WebSQL。 默认值:4980736
storeName
数据仓库的名称。在 IndexedDB 中为 dataStore,在 WebSQL 中为数据库 key/value 键值表的名称。仅含字母和数字和下划线。任何非字母和数字字符都将转换为下划线。
默认值:'keyvaluepairs'version
数据库的版本。将来可用于升级; 目前未使用。
默认值:1.0description
数据库的描述,一般是提供给开发者的。
默认值:'
II.方法列表