返回顶部
首页 > 资讯 > 前端开发 > VUE >JavaScript中有哪些缓存API
  • 628
分享到

JavaScript中有哪些缓存API

2024-04-02 19:04:59 628人浏览 泡泡鱼
摘要

javascript中有哪些缓存api,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。检测Cache支持检查 caches 对象在 wind

javascript中有哪些缓存api,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

检测Cache支持

检查 caches 对象在 window 中是否可用。

let isCacheSupported = 'caches' in window;

caches 是 CacheStorage 的一个实例。

创建/初始化Cache

我们可以使用 open 方法创建一个具有 name 的缓存,这将返回 promise。如果缓存已经存在,则不会创建新的缓存。

caches.open('cacheName').then( cache => { });
  • 你不能访问为其他源(域)设置的缓存。

  • 你正在创建的缓存将为你的域创建。

  • 你可以为同一个域添加多个缓存,可以通过 caches.keys() 访问。

项目添加到缓存

可以使用三种方法 add,addAll,set 来缓存资源。add() 和 addAll() 方法自动获取资源并对其进行缓存,而在 set  方法中,我们将获取数据并设置缓存。

add

let cacheName = 'userSettings'; let url = '/api/get/usersettings'; caches.open(cacheName).then( cache => {    cache.add(url).then( () => {        console.log("Data cached ")     }); });

在上面的代码中,内部对 /api/get/usersettings url的请求已发送到服务器,一旦接收到数据,响应将被缓存。

addAll

addAll 接受URL数组,并在缓存所有资源时返回Promise。

let urls = ['/get/userSettings?userId=1', '/get/userDetails']; caches.open(cacheName).then( cache => { cache.addAll(urls).then( () => {        console.log("Data cached ")     }); });

Cache.add/Cache.addAll 不缓存 Response.status 值不在200范围内的响应,Cache.put  可以让你存储任何请求/响应对。

put

put 为当前的 Cache 对象添加一个key/value对,在 put 中,我们需要手动获取请求并设置值。

注意:put() 将覆盖先前存储在高速缓存中与请求匹配的任何键/值对。

let cacheName = 'userSettings'; let url = '/api/get/userSettings'; fetch(url).then(res => {   return caches.open(cacheName).then(cache => {     return cache.put(url, res);   }) })

从缓存中检索

使用 cache.match() 可以得到存储到URL的 Response。

const cacheName = 'userSettings' const url = '/api/get/userSettings' caches.open(cacheName).then(cache => {   cache.match(url).then(settings => {     console.log(settings);   } });

settings 是一个响应对象,它看起来像

Response {   body: (...),   bodyUsed: false,   headers: Headers,   ok: true,   status: 200,   statusText: "OK",   type: "basic",   url: "https://test.com/api/get/userSettings" }

检索缓存中的所有项目

cache 对象包含 keys 方法,这些方法将拥有当前缓存对象的所有url。

caches.open(cacheName).then( (cache) => {   cache.keys().then((arrayOfRequest) => {       console.log(arrayOfRequest); // [Request,  Request]   }); });

arrayOfRequest是一个Request对象数组,其中包含有关请求的所有详细信息。

检索所有缓存

caches.keys().then(keys => {   // keys是一个数组,其中包含键的列表 })

从缓存中删除项目

可以对 cache 对象使用 delete 方法来删除特定的缓存请求。

let cacheName = userSettings; let urlToDelete = '/api/get/userSettings'; caches.open(cacheName).then(cache => {   cache.delete(urlToDelete) })

完全删除缓存

caches.delete(cacheName).then(() => {    console.log('Cache successfully deleted!'); })

关于JavaScript中有哪些缓存API问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注编程网VUE频道了解更多相关知识。

--结束END--

本文标题: JavaScript中有哪些缓存API

本文链接: https://lsjlt.com/news/69936.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • JavaScript中有哪些缓存API
    JavaScript中有哪些缓存API,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。检测Cache支持检查 caches 对象在 wind...
    99+
    2024-04-02
  • JavaScript中有哪些数组api
    今天就跟大家聊聊有关JavaScript中有哪些数组api,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。JavaScript可以做什么1.可以使网页具有交互性,例如响应用户点击,给用...
    99+
    2023-06-14
  • javascript的api有哪些
    javascript中常用的api有:1.Node.baseURI ,返回网页绝对路径;2.Node.remove(),删除节点;3.document.documentElement,返回文档根节点;4.document.URL,返回文档网...
    99+
    2024-04-02
  • Javascript如何获取缓存和清除缓存API
    这篇文章给大家分享的是有关Javascript如何获取缓存和清除缓存API的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。JavaScript ServiceWorker API的...
    99+
    2024-04-02
  • php中缓存方法有哪些
    这篇“php缓存方法有哪些”文章,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要参考一下,对于“php缓存方法有哪些”,小编整理了以下知识点,请大家跟着小编的步伐一步一步的慢慢理解,接下来就让我们进入主题吧。php有...
    99+
    2023-06-06
  • java中有哪些缓存模式
    java中有哪些缓存模式?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Java可以用来干什么Java主要应用于:1. web开发;2. Android开发;3....
    99+
    2023-06-14
  • Redis缓存中有哪些问题
    这篇文章给大家分享的是有关Redis缓存中有哪些问题的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、缓存穿透缓存穿透是指缓存和数据库中都没有的数据,而用户不断发起请求,如发起 id 为-1 的数据或者特别大的不...
    99+
    2023-06-20
  • Java中的缓存池有哪些
    Java中的缓存池有哪些?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。缓存实体类CacheItem  中存放管理学生实体对象Student  ,缓存实体...
    99+
    2023-05-31
    java 缓存池 ava
  • JavaScript中API设计原则有哪些
    本篇文章为大家展示了JavaScript中API设计原则有哪些,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一、接口的流畅性好的接口是流畅易懂的,他主要体现如下几个...
    99+
    2024-04-02
  • java中Hibernate有有哪些缓存形式
    今天就跟大家聊聊有关java中Hibernate有有哪些缓存形式,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Java有哪些集合类Java中的集合主要分为四类:1、List列表:有序...
    99+
    2023-06-14
  • redis缓存策略有哪些
    小编给大家分享一下redis缓存策略有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!将Redis用作缓存时, 如果内存空间用...
    99+
    2024-04-02
  • mysql缓存调整有哪些
    本篇内容介绍了“mysql缓存调整有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!5.7以后innod...
    99+
    2024-04-02
  • Ajax有哪些缓存机制
    这篇文章主要介绍“Ajax有哪些缓存机制”,在日常操作中,相信很多人在Ajax有哪些缓存机制问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Ajax有哪些缓存机制”的疑惑有所帮...
    99+
    2024-04-02
  • java缓存技术有哪些
    java的缓存技术有:1.SwarmCache,java群集感知缓存;2.JBossCache,复制事务处理缓存;3.Whirlycache,存在于内存中的对象缓存;4.OSCache,J2EE缓存框架;java的缓存技术有以下几种Swar...
    99+
    2024-04-02
  • php缓存类型有哪些
    本篇内容介绍了“php缓存类型有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!php缓存类型有5种:1、数据缓存,即数据库查询PHP缓存...
    99+
    2023-06-22
  • html缓存机制有哪些
    html缓存机制有浏览器缓存、缓存HTTP头、Expires、ETag、Last-Modified等。详细介绍:1、浏览器缓存,是一种基于浏览器的缓存机制,它将之前访问过的网页内容存储在用户的计算机上,以便在下次访问时能够更快地加载和显示网...
    99+
    2023-11-15
    html 缓存机制
  • php有哪些缓存机制
    php缓存机制有Opcode缓存、数据缓存、页面缓存、数据库查询缓存、分布式缓存、缓存插件、元数据缓存、缓存策略、缓存命中与失效以及压缩和编码等。详细介绍:1、Opcode缓存,Opcode是PHP代码的中间代码表示形式,它可以在执行之前被...
    99+
    2023-11-16
    php 缓存机制
  • python有哪些缓存机制
    python有哪些缓存机制内存缓存、数据结构缓存、缓存装饰器、对象代理缓存、缓存库、分布式缓存、缓存策略、缓存失效机制以及压缩和编码等。详细介绍:1、内存缓存,Python的内存管理机制会自动缓存经常使用的对象,以减少内存分配和垃圾回收的开...
    99+
    2023-11-16
    python 缓存机制
  • redis缓存机制有哪些
    redis缓存机制有内存存储、数据过期、缓存淘汰策略、数据操作原子性、持久化、发布订阅模型、事务处理、Lua脚本执行、分布式缓存以及监控和管理工具等。详细介绍:1、内存存储,Redis使用内存存储数据,这使得读取和写入操作非常快速,它将数据...
    99+
    2023-11-16
    缓存机制 redis
  • Java中使用缓存有哪些好处?
    Java中使用缓存有哪些好处? 随着互联网技术的发展,数据量越来越大,对于数据的读取和存储速度要求也越来越高。在这样的背景下,缓存技术应运而生,成为了解决数据读取和存储速度问题的有效途径。本文将介绍Java中使用缓存的好处以及如何使用缓存技...
    99+
    2023-10-05
    缓存 分布式 编程算法
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作