小程序緩存管理器CacheManager
CacheManager
緩存管理器。全局只有唯一實(shí)例,一旦被創(chuàng)建出來(lái)即表示接入緩存管理器。其有以下幾個(gè)能力:
基礎(chǔ)庫(kù) 2.23.0 開始支持,低版本需做兼容處理。
在網(wǎng)絡(luò)通暢時(shí),符合一定規(guī)則的用戶網(wǎng)絡(luò)請(qǐng)求(目前只包括普通 wx.request 請(qǐng)求)會(huì)被緩存。
在網(wǎng)絡(luò)通暢時(shí),某些 wx api 調(diào)用會(huì)被緩存。
進(jìn)入弱網(wǎng)/離線狀態(tài)時(shí),會(huì)提供事件給用戶,用戶可以決定是否使用緩存返回。
提供進(jìn)入和退出弱網(wǎng)/離線狀態(tài)的事件。
緩存管理器中涉及的網(wǎng)絡(luò)請(qǐng)求如無(wú)特指,均指普通的 wx.request 異步請(qǐng)求,參數(shù)和返回值中均不考慮涉及 ArrayBuffer 或 TypedArray 的情形。
緩存管理器中的緩存不會(huì)占用 storage 空間,但是有大小限制,請(qǐng)勿在非必要的請(qǐng)求上使用緩存。
屬性
string mode
當(dāng)前緩存模式
mode 的合法值
值 說(shuō)明 最低版本
weakNetwork 默認(rèn)值,弱網(wǎng)/離線使用緩存返回
always 總是使用緩存返回
none 不開啟,后續(xù)可手動(dòng)開啟/停止使用緩存返回
string origin
全局 origin
string maxAge
全局緩存有效時(shí)間
number state
當(dāng)前緩存管理器狀態(tài)
state 的合法值
值 說(shuō)明 最低版本
0 不使用緩存返回
1 使用緩存返回
2 未知
方法
Array.string CacheManager.addRules(Array.(string|RegExp|Object) rules)
批量添加規(guī)則,規(guī)則寫法可參考 CacheManager.addRule。
string CacheManager.addRule(string|RegExp|Object rule)
添加規(guī)則。
CacheManager.deleteRules(Array.string ids)
批量刪除規(guī)則,同時(shí)會(huì)刪除對(duì)應(yīng)規(guī)則下所有緩存。
CacheManager.deleteRule(string id)
刪除規(guī)則,同時(shí)會(huì)刪除對(duì)應(yīng)規(guī)則下所有緩存。
CacheManager.clearRules()
清空所有規(guī)則,同時(shí)會(huì)刪除對(duì)應(yīng)規(guī)則下所有緩存。
CacheManager.on(string eventName, function handler)
監(jiān)聽(tīng)事件。
CacheManager.off(string eventName, function handler)
取消事件監(jiān)聽(tīng)。
CacheManager.start()
開啟緩存,僅在 mode 為 none 時(shí)生效,調(diào)用后緩存管理器的 state 會(huì)置為 1。
CacheManager.stop()
關(guān)閉緩存,僅在 mode 為 none 時(shí)生效,調(diào)用后緩存管理器的 state 會(huì)置為 0。
Object CacheManager.match(Object evt)
匹配命中的緩存規(guī)則,一般需要和 request 事件搭配使用。
CacheManager.deleteCaches(Array.string ids)
批量刪除緩存。
CacheManager.deleteCache(string id)
刪除緩存。
CacheManager.clearCaches()
清空所有緩存。
作者:大學(xué)生新聞網(wǎng) 來(lái)源:大學(xué)生新聞網(wǎng)
發(fā)布時(shí)間:2025-04-29 閱讀: