数据缓存sessionStorage、localStorage、cookie、session间的区别与联系
1、LocalStorage与SessionStorage的主要区别:
LocalStorage除非主动删除(例如清除缓存或者removeItem,clear等操作),否则会永久存储在浏览器中。
SessionStorage只在当前所在窗口关闭前有效,窗口关闭后其存储数据也就会被自动清除。
2、上面两种方式都是属于web storage,他和cookie,session还是有些区别的:
(1)存储空间:
Cookie(客户端)存储于访问者的计算机中的变量的大小是受限的,大概只允许4k
web storage(客户端) 缓存大小能到5M甚至更大。
(2)存储位置:
Cookie 与 web storage 都存储在 客户端 ,而Session 存储在服务器端,默认被存在在服务器的一个文件里(不是内存),
Session的运行依赖 session id,而 session id 是存在 cookie 中的,也就是说,如果浏览器禁用了 cookie ,同时 session 也会失效(但是可以通过其它方式实现,比如在 url 中传递 session_id),和sessionStorage不是同一概念的,值得注意。
3、
(1)保存数据到本地
sessionStorage.setItem('key', 'value');
localStorage.setItem('key', 'value');
(2)从本地存储获取数据
var value=sessionStorage.getItem("key");//value即为所存的值 var value=localStorage.getItem("key");//value即为所存的值
(3)本地存储中删除某个保存的数据
sessionStorage.removeItem('key');
localStorage.removeItem('key');
(4)删除单个数据
sessionStorage.removeItem('key');
localStorage.removeItem('key');
(5)删除所有数据
sessionStorage.clear();
localStorage.clear();