JS本地持久化

要将数据持久化到本地存储中,可以使用浏览器提供的localStorageindexedDB等机制。下面分别介绍这两种方式的用法:

1.使用localStorage

// 存储数据
localStorage.setItem('key', 'value');// 获取数据
const data = localStorage.getItem('key');// 删除数据
localStorage.removeItem('key');

localStorage提供了setItem方法来存储数据,getItem方法来获取数据,removeItem方法来删除数据。存储的数据将以键值对的形式存储在浏览器的本地存储中,并且在浏览器关闭后仍然可用。

2.使用indexedDB

// 打开数据库
const request = window.indexedDB.open('database', 1);// 监听数据库打开成功事件
request.onsuccess = function(event) {const db = event.target.result;// 创建事务const transaction = db.transaction(['store'], 'readwrite');// 获取存储对象const store = transaction.objectStore('store');// 存储数据store.put('value', 'key');// 获取数据const getRequest = store.get('key');getRequest.onsuccess = function(event) {const data = event.target.result;console.log(data);};// 删除数据store.delete('key');
};

使用indexedDB需要先打开数据库,并创建事务和存储对象,然后可以使用存储对象的put方法来存储数据,get方法来获取数据,delete方法来删除数据。indexedDB是一种更底层的存储机制,相比于localStorage提供了更多的功能和灵活性。

选择使用localStorage还是indexedDB取决于你的具体需求。如果只是简单地存储少量的数据,并且不需要进行复杂的查询操作,localStorage是一个简单方便的选择。如果需要存储大量的数据,并进行复杂的查询和索引,则可以考虑使用indexedDB

3.使用sessionStorage

除了以上两种还有其他方式可以存储数据,例如sessionStorage
sessionStorage 是浏览器提供的一种用于临时数据存储的机制,它与 localStorage 类似,但是数据存储的生命周期与单个会话(session)相对应。

具体来说,sessionStorage 对象允许你在浏览器会话期间存储键值对的数据。这意味着只要用户保持着浏览器窗口或标签页的打开状态,存储在 sessionStorage 中的数据就会保持存在,但一旦会话结束(用户关闭所有相关的浏览器窗口或标签页),存储在其中的数据就会被清除。

下面是一些常用的 sessionStorage 操作方法:

  • sessionStorage.setItem(key, value): 将指定的键值对存储到 sessionStorage 中。
  • sessionStorage.getItem(key): 获取指定键对应的值。
  • sessionStorage.removeItem(key): 从 sessionStorage 中移除指定的键值对。
  • sessionStorage.clear(): 清除所有存储在 sessionStorage 中的数据。

示例:

// 存储数据到 sessionStorage
sessionStorage.setItem('username', 'exampleUser');// 从 sessionStorage 获取数据
var username = sessionStorage.getItem('username');
console.log(username); // 输出: exampleUser// 移除特定键的数据
sessionStorage.removeItem('username');// 清除所有数据
sessionStorage.clear();

使用 sessionStorage 时需要注意以下几点:

  1. 存储在 sessionStorage 中的数据仅在同一浏览器选项卡或窗口处于打开状态时有效。
  2. 存储在 sessionStorage 中的数据在用户关闭浏览器或标签页后将会被清除。
  3. 数据以键值对的形式存储,键和值都必须是字符串。

由于数据存储在客户端,因此可以被用于在页面之间共享数据,或者在不同的页面中保持用户的会话状态。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/582839.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

B (1038) : DS哈希查找—二次探测再散列

文章目录 一、题目描述二、输入与输出1.输入2.输出 三、参考代码 一、题目描述 定义哈希函数为H(key) key%11。输入表长(大于、等于11),输入关键字集合,用二次探测再散列构建哈希表,并查找给定关键字。 二、输入与输…

用户规模破亿!基于文心一言的创新应用已超4000个

🤵‍♂️ 个人主页:艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞&#x1f4…

Oracle数据库安全3大件的安装文档

Oracle数据库安全3大件是:加密,审计和脱敏。 加密 加密即TDE(透明数据加密),属于Oracle高级安全选件。 安装文档见:Oracle Database Advanced Security Guide 3 Configuring Transparent Data Encryptio…

1.3MySQL中的自连接

自己的表和自己连接,核心:一张表拆为两张一样的表。 语法:select 字段列表 from 表 [as] 表别名1,表 [as] 表别名2 where 条件...; 关于怎样把一个表拆分成一个表,只要给它们分别取别名就行 categoryidpidcategoryname21信息…

Analytify Pro Google Analytics Goals Addon谷歌分析目标插件

Analytify Pro Google Analytics Goals Addon谷歌分析目标插件是一款极其巧妙且具有开创性的工具,它赋予用户细致跟踪和全面分析其网站性能的卓越能力。有了这个非凡的插件,个人可以毫不费力地建立并认真监控他们的Google Analytics目标,从而…

代码随想录 121. 买卖股票的最佳时机

题目 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。 返回你可以从这笔交易中获取的最大利…

conda环境下Could not build wheels for dlib解决方法

1 问题描述 在安装模型运行的conda环境时,出现如下问题: Building wheels for collected packages: basicsr, face-alignment, dlib, ffmpy, filterpy, futureBuilding wheel for basicsr (setup.py) ... doneCreated wheel for basicsr: filenamebasi…

记录一下亿级别数据入库clickhouse

需求背景 公司的业务主要是广告数据归因的,每天的pv数据和加粉数据粗粗算一下,一天几千万上亿是有的。由于数据量大,客户在后台查询时间跨度比较大的数据时,查询效率就堪忧。因而将数据聚合后导到clickhouse进行存储,…

uniapp 相关知识点总结整理

一. 单位 1. 换算规则: 1 px 2 rpx1 px 0.75 pt 3 / 4 pt1 pt 1.33 px 4 / 3 px 8 / 3 rpx1 em 16 px1 em 12 pt1px 1pt * 图像分辨率/721. rpx是基于 当前屏幕宽度与750的比值 算出来的,属于动态的。会根据不同屏幕进行换算。所以做响应式比…

32阵元 MVDR和DREC DOA估计波束方向图对比

32阵元 MVDR和DREC DOA估计波束方向图对比 一、原理 MVDR原理:https://zhuanlan.zhihu.com/p/457528114 DREC原理(无失真响应特征干扰相消器):http://radarst.ijournal.cn/html/2019/3/201903018.html 主要参数: 阵…

完全适配各类中小医院专科医院和诊所的云HIS系统源码【前端:Angular+Nginx ,后台:SpringBoot】

云HIS系统采用SaaS软件应用服务模式,提供软件应用服务多租户机制,实现一中心部署多机构使用。相对传统HIS单机构应用模式,它可灵活应对区域医疗、医疗集团、医联体、连锁诊所、单体医院等应用场景,并提升区域内应用的标准化与规范…

Java技术栈 —— Nginx的使用

Java技术栈 —— Nginx的使用 一、认识Nginx二、搭建Nginx环境2.1 在Ubuntu上安装Nginx 三、使用Nginx3.1 配置负载均衡(HTTP) 一、认识Nginx 企业需要运行多个相同的副本,并将负载分散在整个系统集群上,为了高性能的负载均衡,引入了Nginx代…

通过C++程序实现光驱的自动化刻录和读取

文章目录 ISO文件格式光盘的基本概念光盘种类特点DVDR光盘使用windows调用Linux调用Linux平台下用到的C库:读取设备驱动列表向光驱中写文件 数字存储媒体快速发展的今天,光驱的使用已经不像以前那样普及了。但是在数据备份、安装软件和操作系统、旧设备兼容等领域还…

PiflowX大数据流水线系统

PiflowX大数据流水线系统。支持分布式计算引擎flink和spark。以所见即所得的方式,实现大数据采集、处理、存储与分析流程化配置、运行与智能监控。 PiflowX基于Piflow(PiFlow: 混合型科学大数据流水线系统,包含丰富的处理器组件,…

算法导论复习(七) 动态规划

动态规划一般用来求解最优化问题 设计一个动态规划算法一般有以下四步: 描述一个最优解的结构特征。递归地定义最优解的值。计算最优解的值,通常采用自底向上的方法。利用计算出的信息构造出一个最优解。 钢条切割问题 体现了动态规划的一个重要性质&a…

k8s 网络

还没有部署网络。 k8s的网络类型: k8s中的通信模式: 1,pod内部之间容器和容器之间的通信。 在同一个pod中的容器共享资源和网络,使用同一个网络命名空间。可以直接通信的。 2,同一个node节点之内不同pod之间的通信。…

大创项目推荐 深度学习YOLO抽烟行为检测 - python opencv

文章目录 1 前言1 课题背景2 实现效果3 Yolov5算法3.1 简介3.2 相关技术 4 数据集处理及实验5 部分核心代码6 最后 1 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 基于深度学习YOLO抽烟行为检测 该项目较为新颖,适合作为竞赛课…

BAQ压缩MATLAB仿真

本专栏目录: ​​​​​​​全球SAR卫星大盘点与回波数据处理专栏目录-CSDN博客 我们按照上一期文章的BAQ原理编写MATLAB代码,进行baq压缩与解压缩的全流程验证,并分析BAQ压缩对信号指标造成的影响。 生成3个点目标回波数据,加入高斯噪声,对回波进行BAQ压缩和解BAQ压缩,…

具有出色的数据速率、SI8642BA-AUR、SI8642BB-AS1R、SI8641BB-B-IUR、SI8635BD-B-ISR低功耗数字隔离器

一、简介 Si86xx 超低功耗数字隔离器系列是CMOS器件,与传统隔离技术相比,具有出色的数据速率、传播延迟、功耗、尺寸、可靠性和外部BOM优势。这些产品的工作参数在宽温度范围内和整个设备使用寿命内保持稳定,便于设计和高度统一的性能。所有…

Leetcod面试经典150题刷题记录 —— 栈篇

Leetcod面试经典150题刷题记录 —— 栈篇 1. 有效的括号2. 简化路径3. 最小栈4. 逆波兰表达式求值5. 基本计算器 1. 有效的括号 题目链接:有效的括号 - leetcode 题目描述: 给定一个只包括 ( ,),{,},[&…