当前位置: 首页 > news >正文

Web前端之浏览器本地存储、框架存储、SessionStorage、LocalStorage、lndexedDB、Cookies、WebSQL、vueX

MENU

  • 1、简单对比
  • 2、Cookies
  • 3、Local Storage
  • 4、Session Storage
  • 5、lndexedDB
  • 6、Web SQL
  • 7、vueX

1、简单对比

特性CookiesLocal StorageSession StoragelndexedDBWeb SQL
数据生命周期一般由服务器生成,可以设置过期时间除非被清理,否则一直存在页面关闭就清理除非被清理,否则一直存在除非被清理,否则一直存在
数据存储大小4K5M5M未限制未限制
参与服务端通信每次都会携带在header中,对于请求性能有一定影响不参与不参与不参与不参与

2、Cookies

待完成…


3、Local Storage

概念

HTML5中,新加入了一个Local Storage特性,这个特性主要是用来作为本地存储,解决了Cookies存储空间不足的问题,Cookies中每条Cookies的存储空间为4kLocal Storage中一般浏览器支持的是5M,这个在不同的浏览器中存储值的大小会有所不同。


优势

1、拓展了Cookies4K限制。
2、可以将第一次请求的数据直接存储到本地,这个相当于一个5M大小的针对于前端页面的数据库,相比于Cookies可以节约带宽,但是这个功能只在高版本的浏览器中才支持。


局限

1、浏览器的大小不统一,并且在IE8以上的IE版本才支持。
2、目前所有的浏览器中都会把Local Storage的值类型限定为string类型,需要手动进行数据类型转换才能存储和使用。
3、在浏览器的隐私模式下不可读取。
4、本质上是对字符串的读取,如果存储内容多的话会消耗内存空间,会导致页面变卡。
5、不能被爬虫抓取。

Local StorageSession Storage的唯一一点区别就是Local Storage属于永久性存储,而Session Storage属于当前会话,会话结束(页面关闭)的时候,Session Storage中的键值对会被清空。


储存数据

localStorage.setItem('userName','時來');localStorage['userName']="時來";localStorage.userName="時來";

读取数据

console.log(localStorage.getItem('userName'));console.log(localStorage['userName']);console.log(localStorage.userName);

清除指定数据

localStorage.removeItem('userName');

清除当前域名下所有数据

localStorage.clear();

数值加1需要使用parseInt转换

localStorage.num=1;parseInt(localStorage.num)+1;

存储JSON数据

Local Storage中存入JSON对象,需先转换成JSON字符串再写入,在读取时再转换成JSON对象,如果直接存储数据对象则会报错。

letarr=['泰迪','柯基','金毛'];// 存localStorage.setItem('ARR',JSON.stringify(arr));// 取console.log(JSON.parse(localStorage.getItem('ARR')));

4、Session Storage

概念

Session StorageHTML5新增的一个会话存储对象,用于临时保存同一窗口或标签页的数据key/value,在关闭窗口或标签页之后将会删除这些数据,Session Storagewindow下的对象。


特点

1、只在本地存储:Session Storage的数据不会跟随HTTP请求一起发送到服务器,只会在本地生效,并在关闭标签页后清除数据。
2、存储方式:Session Storage的存储方式采用keyvalue的方式。value的值必须为字符串类型。
3、存储上限限制:不同的浏览器存储的上限也不一样,但大多数浏览器把上限限制在5MB以下。


Session Storage只能存储字符串类型的数据,对于JS中常用的数组或对象却不能直接存储,我们可以通过JSON.stringify()json数据类型转化成字符串类型,再存储到Session Storage中就可以了,获取数据时再使用JSON.parse()将读取的字符串转换成对象即可。数组本质上也是对象类型。


存储数据

sessionStorage.setItem('a','111');sessionStorage['a']='111';sessionStorage.a='111';

读取数据

console.log(sessionStorage.getItem("a"));console.log(sessionStorage["a"]);console.log(sessionStorage.a);

删除指定数据

sessionStorage.removeItem("a");

删除所有数据

sessionStorage.clear();

小结

没有数据时,执行读取操作会返回null


5、lndexedDB

待写…


6、Web SQL

待写…


7、vueX

待写…

http://www.jsqmd.com/news/446836/

相关文章:

  • Web前端之IndexedDB浏览器本地存储介绍、数据库、缓存
  • Web前端之UniApp、Taro、ReactNative和Flutter的区别
  • 《K8S集群运维指南》
  • 关于 SAP S/4HANA 公有云里的 multi-off 交付
  • 服务端之NestJS接口响应message编写规范详解、写给前后端都舒服的接口、API提示信息标准化
  • 基于GX Works2的ST语言介绍
  • 用对 CS_ / RS_:看懂 SAP HANA 执行引擎选择,写出更稳更快的 SQL
  • puzzle(0712)Lazors、折射之光
  • 【有趣项目 Windows】浏览器使用技巧:chrome数据数据设置+实现浏览器双开、多开
  • 蓝桥杯嵌入式(STM32G431RBT6)入门第四天——系统嘀嗒定时器(SysTick)|CSDN创作打卡
  • Web前端之Sass中的颜色函数、active按钮激活、disabled禁用、hover鼠标悬浮、Style循环、Css
  • 海康威视网络摄像头配置本地存储服务器进行录像和查看!(需要有老版本存储服务器软件和4200老版本搭配使用,官网没有了)
  • VisualStudioCode之各种配置介绍、终端不能运行yarn脚本、自动添加或补全双引号、文件头部的注释说明、保存时禁止格式化、重新加载窗口
  • 【KEIL】【JLINK】KEIL如何进行远程调试
  • 2026年商用咖啡机厂家深度测评:基于全链路能力与创新实效的四维战力解析 - 品牌推荐
  • 2026年商用咖啡机厂家权威榜单发布:五大品牌技术实力与服务网络深度排位赛 - 品牌推荐
  • 蓝桥杯嵌入式(STM32G431RBT6)入门第三天——使用按键(KEY)|CSDN创作打卡
  • ARM-MPU内存保护单元详解
  • 《计算机体系结构基础》课程速看(一)
  • 物联网之Arduino编程语言、条件语句、循环语句、变量、数组、函数
  • Web前端之页面可见性与元素重叠、懒加载、显示、隐藏、交叉、IntersectionObserver、visibilitychange
  • 怎么一步步实现小米智能家居之玄关篇
  • 探索PQ控制三相并网逆变器:从理论到仿真
  • 蓝桥杯嵌入式(STM32G431RBT6)入门第二天——建立自己的初始化文件|CSDN创作打卡
  • 服务端之NestJS中获取完整请求Host的四种封装方式及应用场景、Service与拦截器对比、工具函数、装饰器
  • SAP HANA SQLScript 性能定位的起手式:用支持性工具锁定主导语句与主导算子
  • Cadence
  • 蓝桥杯嵌入式(STM32G431RBT6)入门第一天——点亮LED|CSDN创作打卡
  • Web前端之监听元素的重叠度、设置所有元素的滚动条宽度都为0、节点布局的交叉状态、生成随机图片、阮一峰、标签、IntersectionObserver
  • 【解决】Ping 不是内部或外部命令,也不是可运行的程序或批处理文件