我们经常需要对业务中的一些数据进行存储,通常分为短暂性存储和持久性存储。
-
短暂性:将数据存在内存中,只在运行时可用
-
持久性存储,可以分为浏览器和服务端
-
浏览器:
-
cookie:通常用于存储用户身份,登录状态等等,http中自动携带,体积上限位4k,可自行设置过期时间
-
localStrorage/sessionStorage:长久存储/窗口关闭删除,体积限制为4-5M
-
特性 | cookie | localStorage | sessionStorage |
---|---|---|---|
数据生命周期 | 一般由服务器生成,可以设置过期时间 | 除非被清除,否则一直存在 | 页面关闭就被清除 |
数据存储大小 | 4K | 5M | 5M |
与服务端通信 | 每次都会携带在header中,对于请求性能影响 | 不参与 | 不参与 |
从上表可以看到,cookie
已经不建议用于存储。如果没有大量数据存储需求的话,可以使用 localStorage
和 sessionStorage
。对于不怎么改变的数据尽量使用 localStorage
存储,否则可以用 sessionStorage
存储。