关于本地缓存

297 阅读1分钟

本地存储(localStorage,localStorage)

对浏览器来说,使用 Web Storage 存储键值对比存储 Cookie 方式更直观,而且容量更大,它包含两种:localStorage 和 sessionStorage

API

sessionStorage 和 localStorage 的用法基本一致,引用类型的值要转换成JSON

localStorage sessionStorage

localStorage(长期存储) :与 sessionStorage 一样,但是浏览器关闭后,数据依然会一直存在(需要用户手动清除)

sessionStorage(临时存储) :为每一个数据源维持一个存储区域,在浏览器打开期间存在,包括页面重新加载

保存数据到本地

sessionStorage.setItem('key', JSON.stringify(info));
localStorage.setItem('key', JSON.stringify(info));

从本地存储获取数据

var data1 = JSON.parse(sessionStorage.getItem('key'));
var data2 = JSON.parse(localStorage.getItem('key'));

本地存储中删除某个保存的数据

sessionStorage.removeItem('key');
localStorage.removeItem('key');

删除所有保存的数据

sessionStorage.clear();
localStorage.clear();

监听本地存储的变化

Storage 发生变化(增加、更新、删除)时的 触发,同一个页面发生的改变不会触发,只会监听同一域名下其他页面改变 Storage

window.addEventListener('storage', function (e) {
        console.log('key', e.key);
        console.log('oldValue', e.oldValue);
        console.log('newValue', e.newValue);
        console.log('url', e.url);
 })