【前-workbox-模塊6】workbox.expiration

1芥驳、什么是Cache Expiration

在緩存中應(yīng)該允許設(shè)置項(xiàng)目存儲(chǔ)在緩存中的時(shí)間長(zhǎng)度或者應(yīng)該在緩存中保留多少項(xiàng)目半哟,通常會(huì)對(duì)緩存施加限制绘证。 Workbox通過(guò)workbox-cache-expiration插件提供此功能撵割,該插件允許你限制緩存中的條目數(shù)和/或刪除已緩存很長(zhǎng)一段時(shí)間的條目歹叮。

2跑杭、限制緩存條目數(shù)

要限制存儲(chǔ)在緩存中的條目數(shù),可以使用maxEntries選項(xiàng)咆耿,如下所示:

workbox.routing.registerRoute(
  new RegExp('/images/'),
  workbox.strategies.cacheFirst({
    cacheName: 'image-cache',
    plugins: [
      new workbox.expiration.Plugin({
        maxEntries: 20,
      }),
    ],
  })
);

有了這個(gè)德谅,插件將被添加到此路線。 使用緩存響應(yīng)或?qū)⑿抡?qǐng)求添加到緩存后萨螺,插件將查看配置的緩存并確保緩存條目的數(shù)量不超過(guò)限制窄做。 如果是,則刪除最舊的條目慰技。

3椭盏、限制緩存條目的有效時(shí)間

要限制緩存請(qǐng)求的時(shí)間長(zhǎng)度,你可以使用maxAgeSeconds選項(xiàng)定義最大有效時(shí)間(以秒為單位)吻商,如下所示:

workbox.routing.registerRoute(
  /\/images\//,
  workbox.strategies.cacheFirst({
    cacheName: 'image-cache',
    plugins: [
      new workbox.expiration.Plugin({
        maxAgeSeconds: 24 * 60 * 60,
      }),
    ],
  })
);

插件將在每次請(qǐng)求或緩存更新后檢查并刪除條目掏颊。

注意:

  • 由于打開(kāi)IndexedDB的速度很慢,因此在使用請(qǐng)求之前不會(huì)使其過(guò)期艾帐。 這意味著過(guò)期的請(qǐng)求可以使用一次乌叶,但在此之后將過(guò)期改化。
  • 為了緩解這種情況,插件將檢查緩存響應(yīng)的“Date”標(biāo)頭枉昏,如果存在并且可以解析日期陈肛,它將基于此過(guò)期,因?yàn)樗恍枰狪ndexedDB查找兄裂。

4句旱、高級(jí)用法

如果您希望使用與任何其他Workbox模塊分開(kāi)的過(guò)期邏輯,則可以使用CacheExpiration類執(zhí)行此操作晰奖。

要對(duì)緩存應(yīng)用限制谈撒,您需要為要控制的緩存創(chuàng)建一個(gè)CacheExpiration實(shí)例,如下所示:

const cacheName = 'my-cache';
const expirationManager = new workbox.expiration.CacheExpiration(
  cacheName,
  {
    maxAgeSeconds: 24 * 60 * 60,
    maxEntries: 20,
  }
);

每當(dāng)更新緩存條目時(shí)匾南,都需要調(diào)用updateTimestamp()方法啃匿,以便更新它的有效期。

await openCache.put(
  request,
  response
);

await expirationManager.updateTimestamp(request.url);

然后蛆楞,只要您想要使一組條目到期溯乒,就可以調(diào)用expireEntries()方法,該方法將強(qiáng)制執(zhí)行maxAgeSeconds和maxEntries配置豹爹。

await expirationManager.expireEntries();

筆者個(gè)人訂閱號(hào)~歡迎小伙伴們關(guān)注


微信公眾號(hào)-感謝關(guān)注

若有疑問(wèn)可以QQ聯(lián)系筆者裆悄,雖然不一定100%解決你的問(wèn)題,但是可以交流探討一波:2276604211

順便打個(gè)廣告:如果有想入職中國(guó)銀聯(lián)上海技術(shù)開(kāi)發(fā)的童鞋臂聋,也可以加上面的QQ資訊光稼,筆者可以幫你回答一些相關(guān)問(wèn)題~~

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市孩等,隨后出現(xiàn)的幾起案子艾君,更是在濱河造成了極大的恐慌,老刑警劉巖肄方,帶你破解...
    沈念sama閱讀 212,599評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件冰垄,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡扒秸,警方通過(guò)查閱死者的電腦和手機(jī)播演,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,629評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門冀瓦,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)伴奥,“玉大人,你說(shuō)我怎么就攤上這事翼闽∈搬悖” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 158,084評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵感局,是天一觀的道長(zhǎng)尼啡。 經(jīng)常有香客問(wèn)我暂衡,道長(zhǎng),這世上最難降的妖魔是什么崖瞭? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,708評(píng)論 1 284
  • 正文 為了忘掉前任狂巢,我火速辦了婚禮,結(jié)果婚禮上书聚,老公的妹妹穿的比我還像新娘唧领。我一直安慰自己,他們只是感情好雌续,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,813評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布斩个。 她就那樣靜靜地躺著,像睡著了一般驯杜。 火紅的嫁衣襯著肌膚如雪受啥。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 50,021評(píng)論 1 291
  • 那天鸽心,我揣著相機(jī)與錄音滚局,去河邊找鬼。 笑死顽频,一個(gè)胖子當(dāng)著我的面吹牛核畴,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播冲九,決...
    沈念sama閱讀 39,120評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼谤草,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了莺奸?” 一聲冷哼從身側(cè)響起丑孩,我...
    開(kāi)封第一講書(shū)人閱讀 37,866評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎灭贷,沒(méi)想到半個(gè)月后温学,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,308評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡甚疟,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,633評(píng)論 2 327
  • 正文 我和宋清朗相戀三年仗岖,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片览妖。...
    茶點(diǎn)故事閱讀 38,768評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡轧拄,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出讽膏,到底是詐尸還是另有隱情檩电,我是刑警寧澤,帶...
    沈念sama閱讀 34,461評(píng)論 4 333
  • 正文 年R本政府宣布,位于F島的核電站俐末,受9級(jí)特大地震影響料按,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜卓箫,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,094評(píng)論 3 317
  • 文/蒙蒙 一载矿、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧烹卒,春花似錦恢准、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,850評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至坠非,卻和暖如春敏沉,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背炎码。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,082評(píng)論 1 267
  • 我被黑心中介騙來(lái)泰國(guó)打工盟迟, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人潦闲。 一個(gè)月前我還...
    沈念sama閱讀 46,571評(píng)論 2 362
  • 正文 我出身青樓攒菠,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親歉闰。 傳聞我的和親對(duì)象是個(gè)殘疾皇子辖众,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,666評(píng)論 2 350

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)和敬,斷路器凹炸,智...
    卡卡羅2017閱讀 134,637評(píng)論 18 139
  • CPU Cache 今天的CPU比25年前更復(fù)雜。那時(shí)候昼弟,CPU內(nèi)核的頻率與內(nèi)存總線的頻率相當(dāng)啤它。內(nèi)存訪問(wèn)只比寄存器...
    blueshadow閱讀 2,984評(píng)論 0 5
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,855評(píng)論 25 707
  • 帶孩子和創(chuàng)業(yè)很像变骡,事情多,變量大芭逝,計(jì)劃和秩序經(jīng)常會(huì)被打亂塌碌,需要積極而靈活的應(yīng)對(duì)。 腦子每一剎那铝耻,只能想一件事誊爹。同時(shí)...
    邢大俠閱讀 156評(píng)論 0 0
  • 隨著飲食習(xí)慣的改變蹬刷,結(jié)腸癌已經(jīng)成為發(fā)病率很高的一種惡性腫瘤瓢捉。結(jié)腸癌早期癥狀沒(méi)有顯著性频丘,因此大多數(shù)患者在發(fā)現(xiàn)時(shí)已經(jīng)到...
    淡然生活huo閱讀 4,921評(píng)論 0 0