随笔 - 2649  文章 - 2452  评论 - 0  阅读 - 80424

CacheManager

CacheManager

基础库 2.24.0 开始支持,低版本需做兼容处理

相关文档: 弱网体验优化

缓存管理器。全局只有唯一实例,一旦被创建出来即表示接入缓存管理器。其有以下几个能力:

  1. 在网络通畅时,符合一定规则的用户网络请求(目前只包括普通 wx.request 请求)会被缓存。
  2. 在网络通畅时,某些 wx api 调用会被缓存。
  3. 进入弱网/离线状态时,会提供事件给用户,用户可以决定是否使用缓存返回。
  4. 提供进入和退出弱网/离线状态的事件。
  1. 缓存管理器中涉及的网络请求如无特指,均指普通的 wx.request 异步请求,参数和返回值中均不考虑涉及 ArrayBuffer 或 TypedArray 的情形。
  2. 缓存管理器中的缓存不会占用 storage 空间,但是有大小限制,请勿在非必要的请求上使用缓存。

属性

string mode

当前缓存模式

mode 的合法值

说明 最低版本
weakNetwork 默认值,弱网/离线使用缓存返回
always 总是使用缓存返回
none 不开启,后续可手动开启/停止使用缓存返回

string origin

全局 origin

number maxAge

全局缓存有效时间

number state

当前缓存管理器状态

state 的合法值

说明 最低版本
0 不使用缓存返回
1 使用缓存返回
2 未知

方法

Array. CacheManager.addRules(Array.<(string|RegExp|Record.)> rules)

批量添加规则,规则写法可参考 CacheManager.addRule

string CacheManager.addRule(string|RegExp|Record. rule)

添加规则。

CacheManager.deleteRules(Array. 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. ids)

批量删除缓存。

CacheManager.deleteCache(string id)

删除缓存。

CacheManager.clearCaches()

清空所有缓存。

posted on   AtlasLapetos  阅读(7)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示