Ⅰ 微信小程序怎麼進行數據緩存
每個微信小程序都可以有自己的本地緩存,可以通過 wx.setStorage(wx.setStorageSync)、wx.getStorage(wx.getStorageSync)、wx.clearStorage(wx.clearStorageSync)可以對本地緩存進行設置、獲取和清理。本地緩存最大為10MB。
注意: localStorage 是永久存儲的,但是我們不建議將關鍵信息全部存在 localStorage,以防用戶換設備的情況。
wx.setStorage(OBJECT)
將數據存儲在本地緩存中指定的 key 中,會覆蓋掉原來該 key 對應的內容,這是一個非同步介面。
OBJECT參數說明:
示例代碼
?
1234
wx.setStorage({ key:"key" data:"value"})
wx.setStorageSync(KEY,DATA)
將 data 存儲在本地緩存中指定的 key 中,會覆蓋掉原來該 key 對應的內容,這是一個同步介面。
OBJECT參數說明:
示例代碼
?
1234
try { wx.setStorageSync('key', 'value')} catch (e) { }
wx.getStorage(OBJECT)
從本地緩存中非同步獲取指定 key 對應的內容。
OBJECT參數說明:
示例代碼:
?
123456
wx.getStorage({ key: 'key', success: function(res) { console.log(res.data) } })
wx.getStorageSync(KEY)
從本地緩存中同步獲取指定 key 對應的內容。
參數說明:
示例代碼:
?
12345678
try { var value = wx.getStorageSync('key') if (value) { // Do something with return value }} catch (e) { // Do something when catch error}
wx.getStorageInfo(OBJECT)
非同步獲取當前storage的相關信息
OBJECT參數說明:
success返回參數說明:
示例代碼:
?
1234567
wx.getStorageInfo({ success: function(res) { console.log(res.keys) console.log(res.currentSize) console.log(res.limitSize) }})
wx.getStorageInfoSync
同步獲取當前storage的相關信息
示例代碼:
?
12345678
try { var res = wx.getStorageInfoSync() console.log(res.keys) console.log(res.currentSize) console.log(res.limitSize)} catch (e) { // Do something when catch error}
wx.removeStorage(OBJECT)
從本地緩存中非同步移除指定 key 。
OBJECT參數說明:
示例代碼:
?
123456
wx.removeStorage({ key: 'key', success: function(res) { console.log(res.data) } })
wx.removeStorageSync(KEY)
從本地緩存中同步移除指定 key 。
參數說明:
示例代碼:
?
12345
try { wx.removeStorageSync('key')} catch (e) { // Do something when catch error}
wx.clearStorage()
清理本地數據緩存。
示例代碼:
?
1
wx.clearStorage()
wx.clearStorageSync()
同步清理本地數據緩存
示例代碼:
?
12345
try { wx.clearStorageSync()} catch(e) { // Do something when catch error}
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
Ⅱ 微信小程序入門(七):緩存數據-單條數據
微信小程序的編寫中,涉及到有些業務場景需要將數據緩存到本地,則微信小程序api提供了兩個介面函數,
wx.setStorage可以將數據緩存在本地指定的key中,如果本地緩存已經存在指定的key,則會覆蓋該key對應的內容,這是一個非同步的介面,在調用時會涉及到成功,失敗,完成三個狀態,
與wx.setStorage唯一不同的就是wx.setStorageSync是同步進行的,所以不會涉及到成功,失敗,完成等回調,但是在使用時需要使用try.......catch....來捕獲異常;
現在編寫一個將字元串緩存本地的例子
編譯項目,點擊緩存按鈕:
現在改變緩存的內容,但是緩存的key保持不變
可以看到第二次的內容把第一次覆蓋了。
將內容緩存到本地之後,將其從本地提取展示出來,則可是使用微信小程序api提供的兩個介面:wx.getStorageInfo(Object object),wx.getStorageSync(string key),與緩存同樣,讀取緩存也分同步和非同步;
我們將剛剛存儲到本地的數據展示到頁面上:
編譯項目,點擊按鈕獲取緩存數據並將其展示到頁面上。
完成了本地數據的緩存,獲取,則接下來就是關於緩存數據的清除,同樣微信小程序api也提供了可使用的介面,
至此微信小程序本地保存數據就此結束!
Ⅲ 微信小程序的全局變數跟數據緩存的區別,用什麼比較好
緩存就是類似資料庫,全局變數就是所有頁面都能用,這是兩個東西,比如說新聞應用,首頁的數據需要放到緩存里,然後下次訪問首頁的時候直接載入緩存的數據,然後在非同步調用介面刷新數據,這樣在進入首頁的時候就不需要loading了,直接能看到數據,感覺就是秒開,用戶體驗更好一些,全局變數就是類似用戶登錄信息,登錄之後設置成全局的,每個頁面都可以使用,不然跳轉後就需要每次都重新獲取用戶信息
Ⅳ 微信小程序怎麼進行數據緩存
//設置緩存
wx.setStorage({
key:"key",
data:"value"
})
//取緩存
wx.getStorage({
key: 'key',
success: function(res) {
console.log(res.data)//緩存數據
}
})