浏览器缓存sessionStorage、localStorage、Cookie

简介: 浏览器缓存sessionStorage、localStorage、Cookie

一、sessionStorage


1、简介

sessionStorage用于在浏览器会话期间存储数据,数据仅在当前会话期间有效。
存储的数据在用户关闭浏览器标签页或窗口后会被清除。


2、方法


  • 使用sessionStorage.setItem(key, value)方法将数据存储在sessionStorage中。
  • 使用sessionStorage.getItem(key)方法根据键获取存储的值。
  • 使用sessionStorage.removeItem(key)方法根据键删除存储的值。


3、代码示例

列表页搜索条件缓存, 使用sessionStorage实现简单的功能, 
存储数据+读取数据+清除数据


a、存取单个数据

sessionStorage.setItem("param", "我叫你一声你敢答应吗?");
let param = sessionStorage.getItem("param")
//我叫你一声你敢答应吗?
console.log(param ); 


b、存取对象

sessionStorage也可存储Json对象:
存储时,通过JSON.stringify()将对象转换为文本格式;
读取时,通过JSON.parse()将文本转换回对象。
sessionStorage.setItem("queryParams", JSON.stringify(this.queryParams));
if (sessionStorage.getItem("queryParams")) {
  this.queryParams = JSON.parse(sessionStorage.getItem("queryParams"));
}


c、清除数据

sessionStorage.removeItem("queryParams");


二、localStorage


1、简介


  localStorage用于在浏览器中永久存储数据,即使用户关闭浏览器标签页或窗口,数据仍然保留。

存储的数据不会自动过期,除非显式地从代码中删除或用户清除浏览器缓存。

存放数据大小一般为5MB;

仅在浏览器中保存,不参与服务器通信;


2、方法


  • 使用localStorage.setItem(key, value)方法将数据存储在localStorage中。
  • 使用localStorage.getItem(key)方法根据键获取存储的值。
  • 使用localStorage.removeItem(key)方法根据键删除存储的值。


3、代码示例

// 设置localStorage中的数据
localStorage.setItem('key', 'value');
// 获取localStorage中的数据
const value = localStorage.getItem('key');
console.log(value);  // 输出:value
// 删除localStorage中的数据
localStorage.removeItem('key');


三、cookie


1、简介


2、方法


  • Cookie是一种在浏览器中存储数据的机制,用于跟踪和识别用户。
  • 可以设置Cookie的过期时间,使数据在指定时间后失效。
  • 即使用户关闭浏览器,存储在Cookie中的数据也可以保留,除非设置了过期时间。
  • 使用document.cookie属性进行设置和获取Cookie值。
  • 使用document.cookie = "key=value; expires=expiration_time; path=/;"语法设置Cookie。
  • 使用document.cookie获取所有Cookie值。
  • 使用document.cookie = "key=; expires=expiration_time; path=/;"语法删除Cookie。


3、代码示例

// 设置cookie
document.cookie = "key=value; expires=expiration_time; path=/;";
// 获取所有cookie
const cookies = document.cookie;
console.log(cookies);
// 删除cookie
document.cookie = "key=; expires=expiration_time; path=/;";


四、三者区别


这些存储机制各有优劣和适用场景。
 
sessionStorage适用于在会话期间保持数据,
localStorage适用于需要永久存储数据的场景,
而Cookie用于跟踪用户和设置过期时间的需求。
 
根据具体的应用需求,选择适合的存储机制可以更好地管理和存储数据。


1、sessionStorage与localStorage区别


  • sessionStorage在浏览器会话期间有效,而localStorage是持久的。
  • sessionStorage在用户关闭浏览器标签页或窗口时会被清除,而localStorage会一直保留。
  • sessionStorage和localStorage的使用方法相似,都是使用setItem、getItem和removeItem方法进行操作。


2、sessionStorage、localStorage、cookie区别


  1. 存储容量:sessionStorage和localStorage都提供了大约5MB的存储空间,而Cookie只能存储4KB的数据。
  2. 生命周期:sessionStorage的数据在单个会话期间有效,关闭浏览器后数据将被清除;localStorage的数据是永久性的,除非手动清除或代码删除;Cookie可以设置过期时间,可以在指定时间之前保持有效。
  3. 存储位置:sessionStorage、localStorage和Cookie数据都存储在客户端,不涉及服务器。
  4. 存储机制:sessionStorage、localStorage和Cookie都使用键值对的方式存储数据。
  5. 跨窗口通信:sessionStorage和localStorage不支持跨窗口通信,而Cookie支持。
  6. 跨域名访问:sessionStorage和localStorage不支持跨域名访问,而Cookie支持。
  7. 浏览器支持:sessionStorage和localStorage在现代浏览器中得到支持,而Cookie在所有浏览器中都可用。
  8. 与服务器交互:sessionStorage、localStorage不会自动发送数据到服务器,而Cookie在每次HTTP请求中都会自动发送到服务器。
特性 sessionStorage localStorage cookie
存储容量 5MB 5MB 4KB
生命周期 单个会话期间 永久 可设置
存储位置 客户端 客户端 客户端
存储机制 键值对 键值对 键值对
跨窗口通信 不支持 不支持 支持
跨域名访问 不支持 不支持 支持
浏览器支持 现代浏览器 现代浏览器 所有浏览器
与服务器交互 不自动发送 不自动发送 自动发送
目录
相关文章
|
2月前
|
存储 JavaScript 前端开发
学习vuex和localstorage . cookie的作用与区别
探讨Vuex、LocalStorage与Cookie:三种关键技术在现代Web开发中的角色。Vuex作为Vue的状态管理工具,提供集中、响应式且可预测的状态变更机制,适用于复杂应用。LocalStorage为客户端提供大容量、持久化的数据存储方案,适合保存用户偏好等静态信息。Cookie则擅长会话跟踪与认证管理,数据虽小却能在客户端与服务器间传递。每种技术针对不同场景各有优势,合理选用是关键。
|
6天前
|
存储 编解码 JSON
解决浏览器存储问题,不得不了解的cookie、localStorage和sessionStorage
该文章详细对比了浏览器存储机制中的cookie、localStorage和sessionStorage的不同之处,以及各自的适用场景。
|
3月前
|
缓存
|
2月前
|
存储 缓存 JavaScript
cookie和localStorage的区别特点
cookie和localStorage的区别特点
32 0
|
3月前
|
存储 前端开发 安全
JavaScript进阶 - 浏览器存储:localStorage, sessionStorage, cookies
【7月更文挑战第2天】探索Web存储:localStorage持久化,sessionStorage会话限定,cookies则伴随HTTP请求。了解它们的特性和限制,如localStorage的5MB容量限制、跨域问题,sessionStorage的生命周期,及cookies的安全与带宽消耗。使用时需权衡安全、效率与应用场景。示例代码展示存储与检索方法。
145 2
|
3月前
|
存储 JavaScript 前端开发
JavaScript进阶 - 浏览器存储:localStorage, sessionStorage, cookies
【7月更文挑战第8天】Web开发中的客户端存储技术,如`localStorage`, `sessionStorage`和`cookies`,用于保存用户设置和跟踪活动。`localStorage`持久化存储,`sessionStorage`随页面会话消失。两者提供基本的增删查改操作,但有大小限制和安全风险。`cookies`适合会话管理,可设置过期时间并能跨域。使用时注意存储量、安全性和跨域策略,选择适合场景的存储方式。
110 0
|
3月前
|
存储 Web App开发 JavaScript
浏览器【详解】Cookie(含Cookie的起源,属性,个数和大小限制,作用,优点,缺点,JS 的操作方法等)
浏览器【详解】Cookie(含Cookie的起源,属性,个数和大小限制,作用,优点,缺点,JS 的操作方法等)
115 0
|
3月前
|
存储 Web App开发 移动开发
js【详解】本地存储 Cookie、sessionStorage、localStorage
js【详解】本地存储 Cookie、sessionStorage、localStorage
86 0
|
7天前
|
JavaScript 前端开发
js之浏览器对象|28
js之浏览器对象|28
|
2月前
|
机器学习/深度学习 人工智能 前端开发
【人工智能】利用TensorFlow.js在浏览器中实现一个基本的情感分析系统
使用TensorFlow.js在浏览器中进行情感分析是一个非常实用的应用场景。TensorFlow.js 是一个用于在JavaScript环境中训练和部署机器学习模型的库,使得开发者能够在客户端直接运行复杂的机器学习任务。对于情感分析,我们可以使用预先训练好的模型来识别文本中的积极、消极或中性情感。
64 4
【人工智能】利用TensorFlow.js在浏览器中实现一个基本的情感分析系统
下一篇
无影云桌面