前端保存数据的几种方式

主要用于在客户端保存信息,以便在不同页面或会话之间使用。常见的前端存储方式包括:

1、Cookie:

存储大小:约4KB

生命周期:可设置过期时间,否则关闭浏览器后失效(会话Cookie)

与服务器通信:每次请求都会携带在HTTP头中

用途:常用于会话管理、用户登录状态等

javascript 复制代码
// 设置
document.cookie = "username=john; expires=Thu, 18 Dec 2025 12:00:00 UTC; path=/";

// 读取
const cookies = document.cookie;

2、Web Storage:
2.1 localStorage:

存储大小:约5MB(不同浏览器可能不同)

生命周期:永久存储,除非手动删除

仅在客户端存储,不随HTTP请求发送

用途:长期存储数据,如用户偏好设置

javascript 复制代码
// 存储
localStorage.setItem('key', 'value');
// 读取
let data = localStorage.getItem('key');
// 删除
localStorage.removeItem('key');
// 清空
localStorage.clear();

2.2 sessionStorage:

存储大小:约5MB

生命周期:仅在当前标签页有效,关闭标签页后删除

同样仅在客户端存储

用途:临时存储同一标签页的数据

javascript 复制代码
// 存储
sessionStorage.setItem('key', 'value');

// 读取
const data = sessionStorage.getItem('key');

// 删除
sessionStorage.removeItem('key');

// 清空
sessionStorage.clear();

3、IndexedDB:

存储大小:通常不少于250MB,甚至更大

生命周期:永久存储,除非手动删除

是一个事务型数据库系统,支持索引、游标等

用途:存储大量结构化数据,适合离线应用

javascript 复制代码
// 打开数据库
const request = indexedDB.open('myDatabase', 1);

request.onsuccess = function(event) {
  const db = event.target.result;
  const transaction = db.transaction(['store'], 'readwrite');
  const store = transaction.objectStore('store');
  
  // 添加数据
  store.add({ id: 1, name: 'John' });
};

4、方案对比

|--------|------------|------------------|--------------------|---------------|
| 特性 | Cookie | localStorage | sessionStorage | IndexedDB |
| 容量 | ~4KB | 5-10MB | 5-10MB | 250MB+ |
| 持久性 | 可设置过期时间 | 永久 | 标签页内 | 永久 |
| 服务器通信 | 自动 | 否 | 否 | 否 |
| 数据结构 | 字符串 | 字符串 | 字符串 | 对象 |
| 异步 | 否 | 否 | 否 | 是 |

相关推荐
康小汪7 小时前
AI 写 Vue 总写成同一个味道:给它装 Skills,装的不是知识是边界
前端·vue.js·人工智能·ai编程·最佳实践
智能运维指南8 小时前
研制过程“两张皮“怎么破:研制一体化支撑平台的定位、能力边界与落地前提
java·前端·人工智能·嘉为蓝鲸
白山编程大哥9 小时前
Java 后端如何优雅地把 List 集合返回给前端
java·前端·list
Flynt10 小时前
我把热榜那篇"禁用 axios"逐条实测了一遍:结论大体对,坑在它没讲的地方
前端·javascript·axios
Csvn11 小时前
bundle优化
前端
北冥有鱼11 小时前
发版后动态路由点击报 `Failed to fetch dynamically imported module`」问题上的完整排查与修复过程
前端·vue.js
静默回滚11 小时前
视频压到 25 MB 以内,码率要算、音轨要扣、余量要留
前端
用户372037492601811 小时前
把 10MB 中文语义模型塞进浏览器:STSB 做到教师模型的 93%,但线上 top1 只有 42%
前端
光锥智能12 小时前
海康机器人举行2026移动机器人新品发布会:箱式存拣升级,「明智」系列发布
java·前端·机器人
计算机魔术师12 小时前
Anthropic 上市文件最吓人的一幕,不是亏损 807 亿
前端