数据缓存sessionStoragelocalStoragecookiesession间的区别与联系

Posted dreamstartplace

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据缓存sessionStoragelocalStoragecookiesession间的区别与联系相关的知识,希望对你有一定的参考价值。

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();

 

 

以上是关于数据缓存sessionStoragelocalStoragecookiesession间的区别与联系的主要内容,如果未能解决你的问题,请参考以下文章

数据缓存层及相关知识

5 分钟快速学习,缓存一致性优化方案!

查询数据放入了redis中缓存,怎么查看缓存的数据

RecyclerView的缓存机制

缓存系统的决策:什么数据要缓存?什么缓存数据要丢给业务?

MyBatis加强~缓存机制(一级缓存二级缓存第三方缓存技术redisehcache)