Cookie和localStorage和sessionStore的区别

本文探讨了浏览器中三种存储类型Cookie、localStorage和sessionStorage的区别,包括存储大小、持久性及使用场景,重点介绍了setItem/getItem/removeItem的基本操作和它们的生命周期特点。

1.都是属于浏览器的本地存储,

2.Cookie的存储大小5k左右,而localStorage和sessionStore的存储大小为5M

3.Cookie是必须在环境中存在的比如vue环境,react环境,通过 document.cookie='name=zs' 它是永久存储,但是是有过期时间的,

4.localStorage是永久性存储,除非手动清除数据,而sessionStore是短时性存储,浏览器页面关闭数据自动清除,他们的api都有,存的话setItem,取的话用getItem ,删除用removeItem,后面加一个key键值对,(‘’key’,‘zset-123’)

### Web 存储方式对比 #### Cookie Cookie 是一种较早的浏览器存储技术,主要用于保持 HTTP 请求中的状态信息。其主要特点是: - 数据量较小,通常不超过 4KB; - 自动随请求发送给服务器,在每次HTTP请求中都会携带cookie数据[^1]。 ```javascript // 设置一个 cookie document.cookie = "username=John Doe; expires=Thu, 18 Dec 2023 12:00:00 UTC"; ``` #### Session Storage Session Storage 提供了一种会话级别的存储解决方案,具有如下特性: - 数据只存在于当前会话期间,即当页面关闭后数据会被清除; - 同一域名下的多个标签页间不会共享 `sessionStorage` 中的数据; - 支持大约 5MB 的存储空间,具体取决于浏览器实现[^3]。 ```javascript // 使用 sessionStorage 进行简单操作 sessionStorage.setItem('key', 'value'); let value = sessionStorage.getItem('key'); sessionStorage.removeItem('key'); ``` #### Local Storage Local Storage 类似于 Session Storage,但提供了更持久化的存储方案: - 数据永久保存直到手动删除或通过编程手段移除; - 所有同源窗口之间可以共享 `localStorage` 内容; - `sessionStorage` 接口一致,同样支持约 5MB 的容量限制。 ```javascript // 对 localStorage 进行基本操作 localStorage.setItem('name', 'Alice'); console.log(localStorage.getItem('name')); // 输出 Alice localStorage.clear(); // 清空所有项 ``` #### IndexedDB IndexedDB 则是一种更为复杂的数据库型存储机制,适用于大量结构化数据的操作: - 能够处理更大规模的数据集,并提供事务管理能力; - 不受简单的键值对约束,允许创建索引并执行查询语句; - 需要异步API来访问修改其中的信息[^4]。 ```javascript const request = window.indexedDB.open("MyDatabase", 1); request.onupgradeneeded = function(event) { const db = event.target.result; let objectStore = db.createObjectStore("books", { keyPath: "isbn" }); }; request.onsuccess = function(event) { console.log("Database opened successfully"); }; ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值