每一個微信小程序均可以有本身的本地緩存,能夠經過 wx.setStorage/wx.setStorageSync、wx.getStorage/wx.getStorageSync、wx.clearStorage/wx.clearStorageSync,wx.removeStorage/wx.removeStorageSync 對本地緩存進行讀寫和清理。html
同一個微信用戶,同一個小程序 storage 上限爲 10MB。storage 以用戶維度隔離,同一臺設備上,A 用戶沒法讀取到 B 用戶的數據。前端
注意: 若是用戶儲存空間不足,咱們會清空最近最久未使用的小程序的本地緩存。咱們不建議將關鍵信息所有存在 storage,以防儲存空間不足或用戶換設備的狀況。小程序
wx.setStorage(Object object)
微信小程序
將數據存儲在本地緩存中指定的 key 中。會覆蓋掉原來該 key 對應的內容。數據存儲生命週期跟小程序自己一致,即除用戶主動刪除或超過必定時間被自動清理,不然數據都一直可用。單個 key 容許存儲的最大數據長度爲 1MB,全部數據存儲上限爲 10MB。緩存
屬性 | 類型 | 必填 | 說明 |
---|---|---|---|
key | string | 是 | 本地緩存中指定的 key |
data | any | 是 | 須要存儲的內容。只支持原生類型、Date、及可以經過JSON.stringify序列化的對象。 |
success | function | 否 | 接口調用成功的回調函數 |
fail | function | 否 | 接口調用失敗的回調函數 |
complete | function | 否 | 接口調用結束的回調函數(調用成功、失敗都會執行) |
wx.setStorage({
key: 'key', data: 'value' })
wx.setStorageSync(string key, any data)
: wx.setStorage
的同步版本微信
try { wx.setStorageSync('key', 'value') } catch (e) { }
wx.getStorage(Object object)
架構
從本地緩存中異步獲取指定 key 的內容異步
屬性 | 類型 | 必填 | 說明 |
---|---|---|---|
key | string | 是 | 本地緩存中指定的 key |
success | function | 否 | 接口調用成功的回調函數 |
fail | function | 否 | 接口調用失敗的回調函數 |
complete | function | 否 | 接口調用結束的回調函數(調用成功、失敗都會執行) |
wx.getStorage({
key: 'key', success(res) { console.log(res.data) } })
any wx.getStorageSync(string key)
: wx.getStorage 的同步版本
函數
try { const value = wx.getStorageSync('key') if (value) { // Do something with return value } } catch (e) { // Do something when catch error }
wx.clearStorage(Object object)
post
清理本地數據緩存
屬性 | 類型 | 必填 | 說明 |
---|---|---|---|
success | function | 否 | 接口調用成功的回調函數 |
fail | function | 否 | 接口調用失敗的回調函數 |
complete | function | 否 | 接口調用結束的回調函數(調用成功、失敗都會執行) |
wx.clearStorage()
wx.clearStorageSync()
:wx.clearStorage
的同步版本
try { wx.clearStorageSync() } catch (e) { // Do something when catch error }
wx.removeStorage(Object object)
從本地緩存中移除指定 key
屬性 | 類型 | 必填 | 說明 |
---|---|---|---|
key | string | 是 | 本地緩存中指定的 key |
success | function | 否 | 接口調用成功的回調函數 |
fail | function | 否 | 接口調用失敗的回調函數 |
complete | function | 否 | 接口調用結束的回調函數(調用成功、失敗都會執行) |
wx.removeStorage({
key: 'key', success(res) { console.log(res.data) } })
wx.removeStorageSync(string key)
: wx.removeStorage
的同步版本
try { wx.removeStorageSync('key') } catch (e) { // Do something when catch error }
----------------------------------------
小程序系列:
基礎使用: component使用 、 wxs使用 、 節點操做 、 頁面跳轉 、 緩存
----------------------------------------