前端 javascript 存储数据的方式有哪些?

您所在的位置:网站首页 前端数据存储方式有哪些 前端 javascript 存储数据的方式有哪些?

前端 javascript 存储数据的方式有哪些?

2024-06-14 02:16| 来源: 网络整理| 查看: 265

在前端开发中,偶尔需要存储一些如: 用户信息、登录状态、历史记录等常量数据。用于后续二次调用,并且避免刷新后丢失。这时,就需要用到本地存储了。

在JavaScript 中,提供了四种可用的本地存储方式: cookie ,sessionStorage, localStorage, indexedDB ( 已废除的 WebSQL )。

一、cookie

Cookie,类型为「小型文本文件」,指某些网站为了辨别用户身份而储存在用户本地终端上的数据。是为了解决 HTTP 无状态导致的问题。

作为一段一般不超过 4KB 的小型文本数据,它由一个名称(Name)、一个值(Value)和 其它几个用于控制 cookie 有效期、安全性、使用范围 的可选属性组成,以键值对的形式存储到本地。

但是cookie在每次请求中都会被发送,如果不使用 HTTPS 并对其加密,其保存的信息很容易被窃取,导致安全风险。举个例子,在一些使用 cookie 保持登录态的网站上,如果 cookie 被窃取,他人很容易利用你的 cookie 来假扮成你登录网站,所以需要对 Cookie 进行加密。

这里有整理好的全套web开发学习资源,免费分享给大家了,保证能让各位在前端学习路上事半功倍。从基础知识到项目实战,以及面试题集锦和相关面试资源全部免费分享给刚学习前端的小白,知道大家在网上找不到特别完整的前端资料,我整理好了这些内容直接发给你们,这样可以让你们少走很多弯路。二、localStorage

HTML5 新方法,IE8 及以上浏览器都兼容。

特点:

生命周期:持久化的本地存储,除非主动删除数据,否则数据是永远不会过期的

存储的信息在同一域中是共享的。

当本页操作(新增、修改、删除)了 localStorage 的时候,本页面不会触发 storage 事件, 但是别的页面会触发 storage 事件。

大小:5M(跟浏览器厂商有关系)

localStorage 本质上是对字符串的读取,如果存储内容多的话会消耗内存空间,会导致页面变卡

受同源策略的限制

三、sessionStorage

sessionStorage 和 localStorage 使用方法基本一致,唯一不同的是生命周期,一旦页面(会话)关闭, sessionStorage 将会删除数据。

四、indexedDB

indexedDB 是一种低级API,用于客户端存储大量结构化数据(包括, 文件/ blobs)。该API 使用索引来实现对该数据的高性能搜索

虽然 Web Storage 对于存储较少量的数据很有用,但对于存储更大量的结构化数据来说,这种方法不太有用。IndexedDB提供了一个解决方案

优点:

储存量理论上没有上限

所有操作都是异步的,相比 LocalStorage 同步操作性能更高,尤其是数据量较大时

原生支持储存JS的对象

是个正经的数据库,意味着数据库能干的事它都能干

缺点:

操作非常繁琐

本身有一定门槛

四种存储方式的区别应用场景

在了解了上述的前端的缓存方式后,我们可以看看针对不对场景的使用选择:

标记用户与跟踪用户行为的情况,推荐使用 cookie适合长期保存在本地的数据(令牌),推荐使用 localStorage敏感账号一次性登录,推荐使用 sessionStorage存储大量数据的情况、在线文档(富文本编辑器)保存编辑历史的情况,推荐使用indexedDB


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3