You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
// 1. Open up the database
OpenIDB().then((db) => {
const dbStore = 'users';
// 2. Open a new read/write transaction with the store within the database
const transaction = db.transaction(dbStore, 'readwrite');
const store = transaction.objectStore(dbStore);
// 3. Add the data to the store
store.put({
name: 'Ire Aderinokun',
age: 25
});
// 4. Complete the transaction
return transaction.complete;
});
使用下面的步骤来检索数据
// 1. Open up the database
OpenIDB().then((db) => {
const dbStore = 'users';
// 2. Open a new read-only transaction with the store within the database
const transaction = db.transaction(dbStore);
const store = transaction.objectStore(dbStore);
// 3. Return the data
return store.get('Ire Aderinokun');
}).then((item) => {
console.log(item);
});
最后,如何删除数据呢?如下方式
// 1. Open up the database
OpenIDB().then((db) => {
const dbStore = 'users';
// 2. Open a new read/write transaction with the store within the database
const transaction = db.transaction(dbStore, 'readwrite');
const store = transaction.objectStore(dbStore);
// 3. Delete the data corresponding to the passed key
store.delete('Ire Aderinokun');
// 4. Complete the transaction
return transaction.complete;
});
原文链接
在浏览器中存储数据有很多优点,最主要的就是对“数据”能够快速并且在不依赖网络就能访问。目前有四种方式(额外一个不建议)在客户端来存储数据。
Cookie
Cookie是最经典的方式在文档中存储简单字符串数据。
cookie是从服务端传送到客户端,并能进行存储。然后客户端请求数据的时候又会返回给服务端。 这对于管理用户 session和记录用户信息非常有帮助。
另外,cookies也能在客户端只用来存储数据。所以,它常常被用来存储一些比较常用的数据,如用户设置。
操作Cookie
我们可以使用下面的语法来新增,读取,更新和删除cookies。
优点
缺点
浏览器支持度
几乎所有主流浏览器都支持
本地存储
本地存储是Web存储的一种,它可以用来在浏览器中存储键-值对数据。它相比cookie为我们提供了更安全的方式在浏览器端存储数据。
尽管我们在本地存储中只能存储字符串,这也意味着我们能够存储JSON。这相对Cookie可以存储更加复杂的数据。
本地存储操作
新增,读取,更新和删除语法如下
本地存储优点
缺点
支持度
http://caniuse.com/#feat=namevalue-storage
会话存储
会话存储是Web存储的第二种方式。它和本地存储类似,除了数据是存储在浏览器选项卡会话中。一旦用户关闭浏览器选项卡,数据就会被清空。
会话存储操作
浏览器支持度
和本地存储一样
IndexedDB
IndexedDB是一种在浏览器中存储数据更佳复杂和全面的方式。 它是一种“在客户端存储重要的结构化数据的低级方式”。它是一种基于javascript,面向对象的数据库,便于我们更加容易存储并且可以通过下标来进行查找数据。
在我的 Building a Progressive Web Application 一文中,我更加详细地介绍了如何使用IndexedDB来创建一个离线应用。
操作IndexedDB
IndexedDB相对于其他浏览器存储的方式更加复杂。在我们新增/读取/更新/删除数据之前,我们需要打开数据库,新建存储空间。
为了在库中创建(更新)数据,我们需要使用下面的步骤
使用下面的步骤来检索数据
最后,如何删除数据呢?如下方式
如果对IndexedDB感兴趣,可以移步这篇文章
IndexedDB 优点
IndexedDB 缺点
支持率
WebSQL
webSQL是客户端的关系数据库,类似SQLite。在2010的时候 W3C工作组停止了该方案。在HTML方案中已经被除名,所有我们最好不要使用
对比图
译者添加
在chrome中居然使用SQLite存储? chrome中存储文件
有的浏览器存储cookie是每个小文件一个,其中FireFox是把所有的cookie存在一个单独的文件中。
每个域名下对应不同的cookie。
https://support.mozilla.org/en-US/kb/cookies-information-websites-store-on-your-computer
https://support.mozilla.org/en-US/kb/cookies-information-websites-store-on-your-computer
The text was updated successfully, but these errors were encountered: