服务工作者保留缓存多长时间?

时间:2016-09-19 11:16:48

标签: javascript

我刚进入Service Workers并为我的网站进行了简单的设置。

文档非常好,但我无法找到服务工作者保留缓存的数量。我正在为我的js和css资产执行缓存清除(类似于bundle.[hash].js),我不确定是否应该确保手动清除缓存中的旧资产,还是只是有一段时间过期了?

2 个答案:

答案 0 :(得分:0)

您可以通过控制缓存控制器来设置缓存期限:

public
Expires: (sometime in the future, according session.cache_expire) Cache-Control: public, max-age=(sometime in the future, according to session.cache_expire) Last-Modified: (the timestamp of when the session was last saved)

还有,

<?php header( 'Cache-Control: max-age=604800' ); /* now get and send images */ ?>

见这里: enter link description here

答案 1 :(得分:-1)

您查看了文档吗?

http://www.html5rocks.com/en/tutorials/service-worker/introduction/#toc-how

  

当我们重新安装时,激活步骤将会跟随,这是一个   处理任何旧缓存管理的绝佳机会   我们将在服务工作者更新部分中介绍。

enter image description here

我链接的页面解释了&#34;如何缓存和返回请求&#34;

self.addEventListener('activate', function(event) {

  var cacheWhitelist = ['pages-cache-v1', 'blog-posts-cache-v1'];

  event.waitUntil(
    caches.keys().then(function(cacheNames) {
      return Promise.all(
        cacheNames.map(function(cacheName) {
          if (cacheWhitelist.indexOf(cacheName) === -1) {
            return caches.delete(cacheName);
          }
        })
      );
    })
  );
});