微信小程序数据缓存
微信小程序的本地缓存:wx.setStorage(wx.setStorageSync)、wx.getStorage(wx.getStorageSync)、wx.clearStorage(wx.clearStorageSync)。通过以上方法可以对本地数据进行设置、获取和清理。本地缓存最大为10MB。在用户更换设备时,用户的localStorage信息将会丢失,因此不建议将关键信息全部存在localStorage。
本地缓存分为同步存储和异步存储,同步方法和异步方法的区别是:
- 同步方法会堵塞当前任务,直到同步方法处理返回。
- 异步方法不会塞当前任务。
同步优点:方便调试,程序的执行顺序很清晰。
同步缺点:同步必须方法执行完之后再进一步执行后面的代码,同步方法执行很慢的时候整个UI会卡住。同步的方法运行不过去,后面的方法就走不了,所以代码的耗时就会非常长。
异步优点:不会卡主UI,代码会立刻走完,执行后面的程序。
异步缺点:不知道何时执行数据缓存,调试不便。
一般在微信小程序中,一般多用同步缓存来存储数据,在某些特定情况下才需要使用异步存储的方式。
操作 | 异步方法 | 同步方法 |
---|---|---|
插入 | wx.setStorage | wx.setStorageSync |
读取 | wx.getStorage | wx.getStorageSync |
删除 | wx.removeStorage | wx.removeStorageSync |
清空 | wx.clearStorage | wx.clearStorageSync |
获取缓存信息 | wx.getStorageInfo | wx.getStorageInfoSync |
//同步缓存存取 wx.setStorageSync('key','墨雪'); wx.getStorageSync('key'); //异步缓存存取 wx.setStorage('key','墨雪'); wx.getStorage('key'); //清除缓存 wx.removeStorageSync('key'); wx.removeStorage('key'); //清除所有缓存,不需要传参数 wx.clearStorageSync(); wx.clearStorageSync();