微信小程序的本地緩存: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();