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