缓存
小程序是有缓存的,但是它缓存没有过期时间,单个key允许存储的最大数据长度为1MB,所有数据存储上限为10MB。如果缓存达到了上限,清除缓存,清除缓存机制:最久未被使用(LRU)。
重要的数据不要放在小程序缓存中。[比较常见的是放昵称和头像]
需要注意,获取缓存数据的方法wx.getStorage
方法为异步方法,在获取的时候要么加.then
进行处理,要么加async + await
进行处理。在小程序开发工具中默认是不允许使用async和await的,如有使用需求,请开启增强编译功能,如图(再或者就是在方法名后面加上Sync
来使用其同步的方法):
例如:在wxml结构中设置2个按钮,分别用于设置和获取缓存的数据
<!-- 设置缓存 --> <button type="primary" bindtap="setCache">设置</button> <!-- 获取缓存 --> <button type="primary" bindtap="getCache">获取</button>
随后编写事件处理程序:
// 同步设置缓存(对于已有的数据key可以覆盖,修改) setCache: function () { wx.setStorageSync('classname', '2021') }, getCache: function () { console.log(wx.getStorageSync('classname')); },
异步方法:修改不阻塞 wx.setStorage存储 wx.getStorage获取
同步方法:修改等待 wx.setStorageSync存储 wx.getStorageSync获取
// 存储缓存 wx.setStorageSync("list", res.data); // 获取缓存 wx.getStorageSync("list"),