Javascript如何获取缓存和清除缓存API的示例代码分享
本篇文章主要介绍了详解Javascript获取缓存和清除缓存API,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
JavaScript ServiceWorker API的好处就是让web开发人员轻松的控制缓存。虽然使用ETags等技术也是一种控制缓存的技术,按使用JavaScript让程序来控制缓存功能更强大,更自由。当然,强大有强大的好处,也有弊处——你需要做善后处理,所谓的善后处理,就是要清理缓存。
下面我们来看看如何创建缓存对象、在缓存里添加请求缓存数据,从缓存里删除请求缓存的数据,最后是如何完全的删除缓存。
判断浏览器对缓存对象cache API的支持
检查浏览器是否支持Cache API…
if('caches' in window) { // Has support! }
…检查window里是否存在caches对象。
创建一个缓存对象
创建一个缓存对象的方法是使用caches.open(),并传入缓存的名称:
caches.open('test-cache').then(function(cache) { // 缓存创建完成,现在就可以访问了 });
这个caches.open方法返回一个Promise,其中的cache对象新创建出来,如果是以前创建过,就不重新创建。
添加缓存数据
对于这类的缓存,你可以把它想象成一个Request对象数组,Request请求获取的响应数据将会按键值存储在缓存对象里。有两个方法可以往缓存里添加数据:add 和 addAll。用这两个方法将要缓存的请求的地址添加进去。关于Request对象的介绍你可以参考fetch API这篇文章。
使用addAll方法可以批量添加缓存请求:
caches.open('test-cache').then(function(cache) { cache.addAll(['/', '/images/logo.png']) .then(function() { // Cached! }); });
这个addAll方法可以接受一个地址数组作为参数,这些请求地址的响应数据将会被缓存在cache对象里。addAll返回的是一个Promise。添加单个地址使用add方法:
caches.open('test-cache').then(function(cache) { cache.add('/page/1'); // "/page/1" 地址将会被请求,响应数据会缓存起来。 }); add()方法还可以接受一个自定义的Request: caches.open('test-cache').then(function(cache) { cache.add(new Request('/page/1', { /* 请求参数 */ })); }); //跟add()方法很相似,put()方法也可以添加请求地址,同时添加它的响应数据: fetch('/page/1').then(function(response) { return caches.open('test-cache').then(function(cache) { return cache.put('/page/1', response); }); });
访问缓存数据
要查看已经换的请求数据,我们可以使用缓存对象里的keys()方法来获取所有缓存Request对象,以数组形式:
caches.open('test-cache').then(function(cache) { cache.keys().then(function(cachedRequests) { console.log(cachedRequests); // [Request, Request] }); }); /* Request { bodyUsed: false credentials: "omit" headers: Headers integrity: "" method: "GET" mode: "no-cors" redirect: "follow" referrer: "" url: "http://www.webhek.com/images/logo.png" } */
如果你想查看缓存的Request请求的响应内容,可以使用cache.match()或cache.matchAll()方法:
caches.open('test-cache').then(function(cache) { cache.match('/page/1').then(function(matchedResponse) { console.log(matchedResponse); }); }); /* Response { body: (...), bodyUsed: false, headers: Headers, ok: true, status: 200, statusText: "OK", type: "basic", url: "https://www.webhek.com/page/1" } */
关于Response对象的用法和详细信息,你可以参考fetch API这篇文章。
删除缓存里的数据
从缓存里删除数据,我们可以使用cache对象里的delete()方法:
caches.open('test-cache').then(function(cache) { cache.delete('/page/1'); });
这样,缓存里将不再有/page/1请求数据。
获取现有的缓存里的缓存名称
想要获取缓存里已经存在的缓存数据的名称,我们需要使用caches.keys()方法:
caches.keys().then(function(cacheKeys) { console.log(cacheKeys); // ex: ["test-cache"] });
window.caches.keys()返回的也是一个Promise。
删除一个缓存对象
想要删除一个缓存对象,你只需要缓存的键名即可:
caches.delete('test-cache').then(function() { console.log('Cache successfully deleted!'); });
大量删除旧缓存数据的方法:
// 假设`CACHE_NAME`是新的缓存的名称 // 现在清除旧的缓存 var CACHE_NAME = 'version-8'; // ... caches.keys().then(function(cacheNames) { return Promise.all( cacheNames.map(function(cacheName) { if(cacheName != CACHE_NAME) { return caches.delete(cacheName); } }) ); });
想成为一个service worker专家?上面的这些代码值得放到你的储备库里。火狐浏览器和谷歌浏览器都支持service worker,相信很快就会有更多的网站、app使用这种缓存技术来提高运行速度。
Atas ialah kandungan terperinci Javascript如何获取缓存和清除缓存API的示例代码分享. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Dalam folder manakah penyemak imbas menyimpan video tersebut Apabila kita menggunakan pelayar Internet setiap hari, kita sering menonton pelbagai video dalam talian, seperti menonton video muzik di YouTube atau menonton filem di Netflix. Video ini akan dicache oleh penyemak imbas semasa proses pemuatan supaya ia boleh dimuatkan dengan cepat apabila dimainkan semula pada masa hadapan. Jadi persoalannya, dalam folder manakah video yang dicache ini sebenarnya disimpan? Pelayar yang berbeza menyimpan folder video cache di lokasi yang berbeza. Di bawah ini kami akan memperkenalkan beberapa pelayar biasa dan mereka

DNS (DomainNameSystem) ialah sistem yang digunakan di Internet untuk menukar nama domain kepada alamat IP yang sepadan. Dalam sistem Linux, cache DNS ialah mekanisme yang menyimpan hubungan pemetaan antara nama domain dan alamat IP secara tempatan, yang boleh meningkatkan kelajuan resolusi nama domain dan mengurangkan beban pada pelayan DNS. Caching DNS membolehkan sistem mendapatkan semula alamat IP dengan pantas apabila kemudiannya mengakses nama domain yang sama tanpa perlu mengeluarkan permintaan pertanyaan kepada pelayan DNS setiap kali, dengan itu meningkatkan prestasi dan kecekapan rangkaian. Artikel ini akan membincangkan dengan anda cara melihat dan memuat semula cache DNS pada Linux, serta butiran yang berkaitan dan kod sampel. Kepentingan Caching DNS Dalam sistem Linux, cache DNS memainkan peranan penting. kewujudannya

Bermula dengan Cache Guava: Percepatkan Aplikasi Anda Cache Guava ialah perpustakaan caching dalam memori berprestasi tinggi yang boleh meningkatkan prestasi aplikasi dengan ketara. Ia menyediakan pelbagai strategi caching, termasuk LRU (paling kurang digunakan baru-baru ini), LFU (paling kurang digunakan baru-baru ini), dan TTL (masa untuk hidup). 1. Pasang cache Guava dan tambahkan pergantungan perpustakaan cache Guava pada projek anda. com.goog

Tajuk: Mekanisme caching dan contoh kod fail HTML Pengenalan: Semasa menulis halaman web, kita sering menghadapi masalah cache penyemak imbas. Artikel ini akan memperkenalkan mekanisme caching fail HTML secara terperinci dan menyediakan beberapa contoh kod khusus untuk membantu pembaca memahami dan menggunakan mekanisme ini dengan lebih baik. 1. Prinsip caching pelayar Dalam penyemak imbas, apabila halaman web diakses, penyemak imbas akan terlebih dahulu menyemak sama ada terdapat salinan halaman web dalam cache. Jika ada, kandungan halaman web diperoleh terus daripada cache Ini adalah prinsip asas caching pelayar. Faedah mekanisme caching pelayar

PHPAPCu (penggantian cache php) ialah cache opcode dan modul cache data yang mempercepatkan aplikasi PHP. Memahami ciri lanjutannya adalah penting untuk menggunakan potensi penuhnya. 1. Operasi kelompok: APCu menyediakan kaedah operasi kelompok yang boleh memproses sebilangan besar pasangan nilai kunci pada masa yang sama. Ini berguna untuk pembersihan atau kemas kini cache berskala besar. //Dapatkan kunci cache dalam kelompok $values=apcu_fetch(["key1","key2","key3"]); //Kosongkan kekunci cache dalam kelompok apcu_delete(["key1","key2","key3"]) ;2 .Tetapkan masa tamat tempoh cache: APCu membenarkan anda menetapkan masa tamat tempoh untuk item cache supaya ia tamat tempoh secara automatik selepas masa yang ditetapkan.

Terdapat interaksi rapat antara CPU (unit pemprosesan pusat), memori (memori akses rawak), dan cache, yang bersama-sama membentuk komponen kritikal sistem komputer. Penyelarasan antara mereka memastikan operasi normal dan prestasi komputer yang cekap. Sebagai otak komputer, CPU bertanggungjawab untuk melaksanakan pelbagai arahan dan pemprosesan data, memori digunakan untuk menyimpan data dan program sementara, menyediakan kelajuan akses baca dan tulis yang cepat dan cache memainkan peranan penampan, mempercepatkan akses data; kelajuan dan peningkatan CPU komputer ialah komponen teras komputer dan bertanggungjawab untuk melaksanakan pelbagai arahan, operasi aritmetik dan operasi logik. Ia dipanggil "otak" komputer dan memainkan peranan penting dalam memproses data dan melaksanakan tugas. Memori adalah peranti storan penting dalam komputer.

Cara Mengeksport Video Cache Penyemak Imbas Dengan perkembangan pesat Internet, video telah menjadi bahagian yang sangat diperlukan dalam kehidupan seharian orang ramai. Semasa menyemak imbas web, kami sering menemui kandungan video yang ingin kami simpan atau kongsi, tetapi kadangkala kami tidak dapat mencari sumber fail video kerana ia mungkin hanya wujud dalam cache penyemak imbas. Jadi, bagaimanakah anda mengeksport video daripada cache penyemak imbas anda? Artikel ini akan memperkenalkan anda kepada beberapa kaedah biasa. Pertama, kita perlu menjelaskan konsep, iaitu cache pelayar. Cache penyemak imbas digunakan oleh penyemak imbas untuk meningkatkan pengalaman pengguna.

Penerokaan teknologi caching PHP: alat yang berkuasa untuk meningkatkan prestasi laman web, contoh kod khusus diperlukan Pengenalan: Dengan perkembangan pesat Internet hari ini, prestasi laman web adalah penting untuk pengalaman pengguna dan kedudukan enjin carian. Sebagai bahasa pengaturcaraan yang biasa digunakan, PHP digunakan secara meluas dalam pembangunan laman web Bagaimana untuk meningkatkan prestasi laman web PHP telah menjadi isu yang mendesak untuk pembangun. Salah satu penyelesaian yang sangat penting ialah menggunakan teknologi caching PHP Artikel ini akan meneroka konsep dan teknologi khusus caching PHP, dan disertakan dengan contoh kod untuk membantu pembaca memahami
