JavaScript常见缓存数据处理方式 并说明特性

这篇具有很好参考价值的文章主要介绍了JavaScript常见缓存数据处理方式 并说明特性。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在JavaScript中,常见的几种缓存数据的方式:

1、LocalStorage:使用LocalStorage可以将数据以键值对的形式存储在浏览器中,该数据在页面刷新后依然存在,只要不更换浏览器 或 清空缓存 这种缓存就会一直存在
我们执行

localStorage.setItem("name", "小猫猫")

我们存入了一个 键为 name 值为 小猫猫的缓存
这里 键 必须是字符串 但字符串内容顺便定义 值就是缓存什么都可以

之后 我们就可以运行

let name = localStorage.getItem("name");
console.log(name);

运行结果如下
JavaScript常见缓存数据处理方式 并说明特性,javascript,开发语言,ecmascript

localStorage.getItem("键名");

这样 就可以通过键 找到值 这就是键值对缓存的意义

然后 我们可以

localStorage.removeItem("name")

通过键删除指定缓存
这样 我们再去获取name 就拿不到了
JavaScript常见缓存数据处理方式 并说明特性,javascript,开发语言,ecmascript
LocalStorage还是比较强大的 大家可以试试 你刷新 或者关掉浏览器 再打开 只要还是同一个浏览器 那么这个缓存是会一直存在的
最后 执行

localStorage.clear()

这个东西就比较无脑了 直接将所有的LocalStorage缓存数据都干掉
只要你是缓存在LocalStorage里的 不管什么数据都会被localStorage.clear()清除

2、SessionStorage:与LocalStorage类似,SessionStorage也是将数据以键值对的形式存储在浏览器中,但它的数据只在当前会话中有效,在新窗口打开则取不到缓存,
我们可以执行如下语句

sessionStorage.setItem("age", 22)

加入一个键值对缓存 键为 字符串 age 值为数字 22
然后我们执行

let age = sessionStorage.getItem("age");
console.log(age);

通过get方法获取 运行结果如下
JavaScript常见缓存数据处理方式 并说明特性,javascript,开发语言,ecmascript
但大家可以手动测试一下
我们复制地址
然后在一个新的浏览器窗口打开 缓存就拿不到了
概念是只存在当前对话框
然后 我们执行

sessionStorage.removeItem("age")

根据指定的键 清除对应缓存 这里 我们将 age清了

然后 最后就是王牌

sessionStorage.clear()

清理掉所有sessionStorage下的缓存数据

3、Cookie:Cookie是存储在用户计算机上的小型文本文件,可以设置过期时间,在指定时间内数据会一直存在

我们可以这样写
我们设置 键 name 值 小猫猫 时间为 一分钟 这个时间大家要自己算一下
最后处理好之后 缓存进cookie中

// 获取当前时间
var currentTime = new Date();
// 设置Cookie过期时间为1分钟后
var expiryTime = new Date(currentTime.getTime() + 60000);
// 构建Cookie字符串
var cookieString = "name=小猫猫;expires=" + expiryTime.toUTCString() + ";path=/";
// 设置Cookie
document.cookie = cookieString;

然后 我们执行

let cookies = document.cookie;
console.log(cookies);

这里 就会获取到整个cookies对象
JavaScript常见缓存数据处理方式 并说明特性,javascript,开发语言,ecmascript
然后 我们执行

document.cookie = "name=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;"

指定将我们之前缓存在cookie的name 清除掉
JavaScript常见缓存数据处理方式 并说明特性,javascript,开发语言,ecmascript
4 IndexedDB: IndexedDB适用于大批量数据存储缓存,它本身的API就是异步的,不会影响主流程。非常适合配合后台大量的API数据存储

我们先需要在页面加载时 执行

const dbName = "myDB";
const request = indexedDB.open(dbName, 1);

request.onupgradeneeded = function(event) {
  const db = event.target.result;
  const objectStore = db.createObjectStore("cache", { keyPath: "name" });
  console.log(objectStore);
};

创建一个本地数据存储库
然后

request.onsuccess = function(event) {
const db = event.target.result;
  const transaction = db.transaction(["cache"], "readwrite");
  const objectStore = transaction.objectStore("cache");

  const data = { name: "小猫猫" };
  const request = objectStore.add(data);

  request.onsuccess = function() {
    console.log("数据已添加到缓存");
  };

  transaction.oncomplete = function() {
    db.close();
  };
};

这里 我们直接加入一个 对象 objectStore.add(data);
这样 我们就将这个
data存入了缓存中
然后 我们执行

request.onsuccess = function(event) {
  const db = event.target.result;
  const transaction = db.transaction(["cache"], "readonly");
  const objectStore = transaction.objectStore("cache");

  const request = objectStore.get("小猫猫");

  request.onsuccess = function(event) {
    const data = event.target.result;
    console.log("获取到缓存数据:", data);
  };

  transaction.oncomplete = function(event) {
    db.close();
  };
};

这样 就获取到了我们的数据
JavaScript常见缓存数据处理方式 并说明特性,javascript,开发语言,ecmascript
如果我们想更新内容 可以

request.onsuccess = function(event) {
  const db = event.target.result;
  const transaction = db.transaction(["cache"], "readwrite");
  const objectStore = transaction.objectStore("cache");

  const request = objectStore.get("小猫猫");

  request.onsuccess = function(event) {
    const data = event.target.result;
    data.name = "小狗狗";

    const updateRequest = objectStore.put(data);

    updateRequest.onsuccess = function(event) {
      console.log("缓存数据已更新");
    };
  };

  transaction.oncomplete = function(event) {
    db.close();
  };
};

最后 我们想删除数据可以文章来源地址https://www.toymoban.com/news/detail-684428.html

request.onsuccess = function(event) {
  const db = event.target.result;
  const transaction = db.transaction(["cache"], "readwrite");
  const objectStore = transaction.objectStore("cache");

  const deleteRequest = objectStore.delete("小猫猫");

  deleteRequest.onsuccess = function(event) {
    console.log("缓存数据已删除");
  };

  transaction.oncomplete = function(event) {
    db.close();
  };
};

到了这里,关于JavaScript常见缓存数据处理方式 并说明特性的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 精通 JavaScript 数据处理大全:手写代码从入门到精通

    ​🌈个人主页:前端青山 🔥系列专栏:JavaScript篇 🔖 人终将被年少不可得之物困其一生 依旧 青山 ,本期给大家带来JavaScript篇专栏内容:JavaScript- 数据处理 目录 1. 实现日期格式化函数 2. 交换a,b的值,不能用临时变量 3. 实现数组的乱序输出 4. 实现数组元素求和 5. 实现数组

    2024年02月03日
    浏览(44)
  • 常用数据处理方式

    使用索引方式,返回结果为DataFrame格式 将数据集分为特征矩阵X和目标变量y,返回结果为DataFrame格式 另外一种将数据转化为numpy的格式为 df.drop([‘#id’], axis=1, inplace=True) print(df.weeks.quantile(np.arange(.9,1,.01))) df = df.set_index([‘hetongdetailid’]) print(“在 cat 列中总共有 %d 个空值.”

    2024年02月14日
    浏览(39)
  • 【Java万花筒】缓存与存储:Java应用中的数据处理利器

    在现代软件开发中,高效地处理和存储数据是至关重要的任务。本文将介绍一系列在Java应用中广泛使用的数据缓存与存储库,涵盖了Ehcache、Redisson、Apache Cassandra、Hazelcast以及Apache Ignite。这些库不仅为数据的快速访问提供了解决方案,还在分布式环境下展现出强大的能力,满

    2024年01月24日
    浏览(48)
  • 大语言模型训练数据常见的4种处理方法

    本文分享自华为云社区《浅谈如何处理大语言模型训练数据之一常见的数据处理方法》,作者: 码上开花_Lancer。 大语言模型训练需要数万亿的各类型数据。如何构造海量“高质量”数据对于大语言模型的训练具有至关重要的作用。虽然,截止到2023 年9 月为止,还没有非常好

    2024年02月04日
    浏览(34)
  • 大数据-Spark批处理实用广播Broadcast构建一个全局缓存Cache

    在Spark中,broadcast是一种优化技术,它可以将一个只读变量缓存到每个节点上,以便在执行任务时使用。这样可以避免在每个任务中重复传输数据。

    2024年02月15日
    浏览(54)
  • 【数据分析】Python:处理缺失值的常见方法

    在数据分析和机器学习中,缺失值是一种常见的现象。在实际数据集中,某些变量的某些条目可能没有可用的值。处理缺失值是一个重要的数据预处理步骤。在本文中,我们将介绍如何在 Pandas 中处理缺失值。 我们将探讨以下内容: 什么是缺失值; 如何在 Pandas 中识别缺失值

    2024年02月03日
    浏览(92)
  • 腾讯云大数据型CVM服务器实例D3和D2处理器CPU型号说明

    腾讯云服务器CVM大数据型D3和D2处理器型号,大数据型D3云服务器CPU采用2.5GHz Intel® Xeon® Cascade Lake 处理器,大数据型D2云服务器CPU采用2.4GHz Intel® Xeon® Skylake 6148 处理器。腾讯云服务器网分享云服务器CVM大数据型CPU型号、处理器主频性能: 目录 大数据型CVM云服务器CPU处理器大

    2024年02月15日
    浏览(56)
  • 【postgresql 基础入门】插入数据的多种方式 单条,多值,查询结果,插入数据冲突处理,批量导入,多种方式让数据插入更灵活

    ​ 专栏内容 : postgresql内核源码分析 手写数据库toadb 并发编程 ​ 开源贡献 : toadb开源库 个人主页 :我的主页 管理社区 :开源数据库 座右铭:天行健,君子以自强不息;地势坤,君子以厚德载物. 入门准备 postgrersql基础架构 快速使用 初始化集群 数据库服务管理 psql客户

    2024年02月08日
    浏览(53)
  • 数据处理(4):4种方式使用3Dmax模型数据转cesium Gltf模型

    方式一: COLLADAMaxNew插件 转换 下载链接: https://www.aliyundrive.com/s/xLXfLggCh9k 提取码: fs72 环境准备,需先安装max插件COLLADAMaxNew.dle,这是一个导出插件,可以将模型导出0penCOLLADA(*.DAE)格式文件 将下载得COLLADAMaxNew.dle插件放置3Dmax安装目录Plugins下即可,随后重启3Dmax即可。 也可以

    2024年02月15日
    浏览(40)
  • SQL 日期处理和视图创建:常见数据类型、示例查询和防范 SQL 注入方法

    在数据库操作中,处理日期是一个关键的方面。确保插入的日期格式与数据库中日期列的格式匹配至关重要。以下是一些常见的SQL日期数据类型和处理方法。 DATE - 格式为YYYY-MM-DD DATETIME - 格式为YYYY-MM-DD HH:MI:SS TIMESTAMP - 格式为YYYY-MM-DD HH:MI:SS YEAR - 格式为YYYY或YY DATE - 格式为YY

    2024年02月05日
    浏览(59)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包