当前位置:网站首页>浏览器存储
浏览器存储
2022-08-01 11:31:00 【sgling】
Cookie 的劣势
存储大小限制,仅 4kb 左右 单个域名下的数量限制,50个左右 污染请求头,浪费流量
本地存储 - Web Storage
*localStorage 和 sessionStorage 区别
*
相同的使用方法 不同的存储时效 不同的储存容量
不同的存储时效
localStorage 存储会持久化(没有储存时间) sessionStorage 存储会在网页会话结束后失效,刷新没有问题
不同的储存容量
localStorage 容量一般在 2~5Mb 左右 sessionStorage 存储容量不一,部分浏览器不设限
使用 Storage 时的注意点
存储容量超出限制
抛出 QuotaExceededError 异常 存储值时应使用 try catch 避免异常未捕获
存储类型的限制
仅能存储字符串 注意类型转换
sessionStorage 失效机制
刷新页面并不能使 sessionStorage 失效 相同 URL 不同标签页不能共享 sessionStorage
相同的使用方法 API
使用 setItem 方法设置存储内容
// 设置 localStorage
// key 和 value 可以是数字或者字符串,但字符串必须加引号,否则会报错
localStorage.setItem(key, value)
// localStorage 赋值
localStorage.key = value
// 如果 key 是字符串,用以下方式设置 localStorage,key必须要有引号包裹:localStorage['key']
localStorage['key'] = value
// 如果 key 是数字,用以下方式设置 localStorage,key可以不用引号包裹:localStorage[key]
localStorage[key] = value
使用 getItem 方法获取存储内容
// 获取 localStorage
localStorage.getItem(key)
// 这种方式也可以获取 localStorage
localStorage.sgl
localStorage['key']
// 如果 key 是数字,用以下方式无法获取 localStorage,
// 要用这种方法获取:
localStorage[key]
localStorage.getItem(key)
使用 removeItem 方法删除存储内容
// 删除 localStorage
localStorage.removeItem(key)
使用 clear 方法清除所有存储内容
// 清除所有 localStorage
localStorage.clear()
使用 length 属性获取存储内容的个数
// 获取存储内容的个数
localStorage.length
Web Storage 的优化
性能与存储容量大小无关,与读取次数有关
减少读取 item 的次数 单个 item 中尽可能多的存储数据
边栏推荐
- 如何获取微信视频号的地址(微信公众号的链接地址)
- Pytest e-commerce project combat (below)
- 【随心笔记】假期快过去了,都干了点什么
- js中常用追加元素的几种方法:append,appendTo,after,before,insertAfter,insertBefore,appendChild
- C language implementation!20000 in 4 seconds
- 这是我见过写得最烂的Controller层代码,没有之一!
- 回归预测 | MATLAB实现RNN循环神经网络多输入单输出数据预测
- The use of Ts - Map type
- 一文说明白ECDSA spec256k1 spec256r1 EdDSA ed25519千丝万缕的关系
- 大众碰到点评的一个字体反爬,落地技术也是绝了
猜你喜欢
2022 Go ecosystem rpc framework Benchmark
Promise learning (4) The ultimate solution for asynchronous programming async + await: write asynchronous code in a synchronous way
Sparse representation - study notes
[Open class preview]: Research and application of super-resolution technology in the field of video image quality enhancement
Pytest e-commerce project combat (below)
MarkDown公式指导手册
STM32 CAN filter configuration details
这是我见过写得最烂的Controller层代码,没有之一!
数字化转型实践:世界级2B数字化营销的方法框架
爱可可AI前沿推介(8.1)
随机推荐
A new generation of ultra-safe cellular batteries, Sihao Airun goes on sale starting at 139,900 yuan
解决vscode输入! 无法快捷生成骨架(新版vscode快速生成骨架的三种方法)
Pytest电商项目实战(下)
这是我见过写得最烂的Controller层代码,没有之一!
[CLion] CLion always prompts "This file does not belong to any project target xxx" solution
Promise学习(二)一篇文章带你快速了解Promise中的常用API
重庆市大力实施智能建造,推动建筑业数字化转型,助力“建造强市”
Audio and Video Technology Development Weekly | 256
Why Metropolis–Hastings Works
CAN通信的数据帧和远程帧
程序员如何优雅地解决线上问题?
上周热点回顾(7.25-7.31)
[Open class preview]: Research and application of super-resolution technology in the field of video image quality enhancement
Aeraki Mesh 正式成为 CNCF 沙箱项目
【CLion】CLion 总是提示 “This file does not belong to any project target xxx” 的解决方法
ACL 2022 | 文本生成的相关前沿进展
深入理解 Istio —— 云原生服务网格进阶实战
(ES6以上以及TS) Map对象转数组
pandas连接oracle数据库并拉取表中数据到dataframe中、筛选当前时间(sysdate)到一个小时之前的所有数据(筛选一个小时的范围数据)
利用正则表达式的回溯实现绕过