⑴ 微信小程序怎麼進行數據緩存
每個微信小程序都可以有自己的本地緩存,可以通過 wx.setStorag(wx.setStorageSync)、wx.getStorage(wx.getStorageSync)、wx.clearStorage(wx.clearStorageSync)可以對本地緩存進行設置、獲取和清理。本地緩存最大為10MB。
注意:
localStorage 是永久存儲的,但是我們不建議將關鍵信息全部存在 localStorage,以防用戶換設備的情況。
wx.setStorage(OBJECT)將數據存儲在本地緩存中指定的 key 中,會覆蓋掉原來該 key 對應的內容,這是一個非同步介面。
代碼示例
wx.setStorage({ key:"key" data:"value" })1234
wx.setStorageSync(KEY,DATA)
將 data 存儲在本地緩存中指定的 key 中,會覆蓋掉原來該 key 對應的內容,這是一個同步介面。
try { wx.setStorageSync('key', 'value') } catch (e) { }1234
wx.getStorageInfo(OBJECT)
非同步獲取當前storage的相關信息
wx.getStorageInfo({ success: function(res) { console.log(res.keys) console.log(res.currentSize) console.log(res.limitSize) } })1234567
wx.getStorageInfoSync
同步獲取當前storage的相關信息
try { var res = wx.getStorageInfoSync() console.log(res.keys) console.log(res.currentSize) console.log(res.limitSize) } catch (e) { // Do something when catch error }12345678
wx.removeStorage(OBJECT)
從本地緩存中非同步移除指定 key 。
wx.removeStorage({ key: 'key', success: function(res) { console.log(res.data) } })123456
wx.removeStorageSync(KEY)
從本地緩存中同步移除指定 key 。 try { wx.removeStorageSync('key') } catch (e) { // Do something when catch error }123456
wx.clearStorage()
清理本地數據緩存。
wx.clearStorage()1
wx.clearStorageSync()
同步清理本地數據緩存
try { wx.clearStorageSync() } catch(e) { // Do something when catch error }
⑵ 微信8.0.28版本小程序緩存丟失
微信8.0.28版本小程序緩存丟失原因為:
1、一個星期沒有使用小程序,緩存數據會被清掉。
2、手機沒電關機後,再開機小程序的緩存數據會被清掉。
3、使用了清理工作,緩存數據會被清掉。
⑶ 小程序之緩存
每個微信小程序都可以有自己的本地緩存,可以通過 wx.setStorage(wx.setStorageSync)、wx.getStorage(wx.getStorageSync)、wx.clearStorage(wx.clearStorageSync)可以對本地緩存進行設置、獲取和清理。同一個微信用戶,同一個小程序 storage 上限為 10MB。localStorage 以用戶維度隔離,同一台設備上,A 用戶無法讀取到 B 用戶的數據。
1.設置緩存
2.獲取緩存
3.清除緩存
⑷ 微信小程序如何清理緩存
1.打開手機管家,進入主頁面,點擊「清理加速」項目,開始清理。若手機自帶軟體中無手機管家,則需要自己在手機上下載手機管家App
2.打開手機管家選擇清理加速項目後,可以看到在裡面有一個手機瘦身功能,點擊「手機瘦身」,進入新頁面。
3.點擊「手機瘦身」後出現一個新界面,你就可以看到有一個專門的微信清理的功能,點擊「微信清理」,進入下一個頁面。
4.此微信清理功能可以自動檢測微信小程序運行產生的緩存,點擊一鍵清理,即可自動清理微信小程序緩存。
⑸ 微信小程序怎麼進行數據緩存
在微信小程序中,數據緩存其實就和localstorage 的原理差不多,所以理解起來並不難。下面我們來一起實現一下。
效果圖展示:
我們在index頁面存入數字11,然後在跳轉到新頁面,在將緩存中的11取出渲染到當前頁面。具體代碼如下:
index頁面:
<span style="font-size:24px;">
<view class="btn-area">
<navigator url="../navigator/navigator?title=我是navi">跳轉到新的頁面post情求</navigator>
<navigator url="../redirect/redirect?title=我是red" redirect>跳轉到當前頁面</navigator>
</view>
</span>
<view>
<input style="border:2rpx solid red" placeholder="輸入信息" bindinput="getInput" />
<button style="border:2rpx solid yellow" bindtap="saveInput">存入</button>
</view>1234567891012345678910
index的js:
//index.js
//獲取應用實例
var app = getApp()
Page({
data: {
storage:''
},
onLoad: function () {
var that = this
//獲取輸入值
getInput:function(e){
this.setData({
storage:e.detail.value
})
},
//存儲輸入值
saveInput:function(){
wx.setStorageSync('storage', this.data.storage)
}
})
2223
跳轉頁面:
<view>從存儲中得到的數據:{{storage}}</view>11
跳轉頁面的js:
var app = getApp();
var that;
Page( {
data: {
storage:''
},
onLoad: function(options) {
that = this;
//獲取存儲信息
wx.getStorage({
key: 'storage',
success: function(res){
// success
that.setData({
storage:res.data
})
}
})
}
})
⑹ 微信小程序如何清理緩存數據
以攜程的微信小程序為例,清除步驟如下:
1.首先,進入微信界面,然後單擊展開最近使用的小程序,選擇其中一個;
⑺ 緩存問題之非同步處理(微信小程序)
微信小程序裡面的本地緩存
wx.setStorage(wx.setStorageSync)、wx.getStorage(wx.getStorageSync)、wx.clearStorage(wx.clearStorageSync)
localStorage :是永久存儲,以用戶維度隔離,同一台設備上,A 用戶無法讀取到 B 用戶的數據。
在小程序中無 Sync 結尾的本地緩存中,都為 非同步緩存
wx.setStorage(object)
參數object說明
控制台
表示儲存成功
wx.getStorage(object)
示例
這個key值就是先前setStorage的命名key,證明指定獲取那個緩存中的數據
wx.clearStorage(object)
清理本地數據緩存
將之前儲存在Storage中的數據清空。適用於退出登錄後登錄信息的清除
wx.getStorageInfo(object)
非同步獲取當前storage的相關信息( 當前小程序裡面所有的storage的儲存信息 )
參數說明
執行結果
wx.removeStorage(OBJECT)
從本地緩存中非同步移除指定 key值
獲取當前data值時將報錯undefined
執行結果
⑻ 微信小程序入門(七):緩存數據-單條數據
微信小程序的編寫中,涉及到有些業務場景需要將數據緩存到本地,則微信小程序api提供了兩個介面函數,
wx.setStorage可以將數據緩存在本地指定的key中,如果本地緩存已經存在指定的key,則會覆蓋該key對應的內容,這是一個非同步的介面,在調用時會涉及到成功,失敗,完成三個狀態,
與wx.setStorage唯一不同的就是wx.setStorageSync是同步進行的,所以不會涉及到成功,失敗,完成等回調,但是在使用時需要使用try.......catch....來捕獲異常;
現在編寫一個將字元串緩存本地的例子
編譯項目,點擊緩存按鈕:
現在改變緩存的內容,但是緩存的key保持不變
可以看到第二次的內容把第一次覆蓋了。
將內容緩存到本地之後,將其從本地提取展示出來,則可是使用微信小程序api提供的兩個介面:wx.getStorageInfo(Object object),wx.getStorageSync(string key),與緩存同樣,讀取緩存也分同步和非同步;
我們將剛剛存儲到本地的數據展示到頁面上:
編譯項目,點擊按鈕獲取緩存數據並將其展示到頁面上。
完成了本地數據的緩存,獲取,則接下來就是關於緩存數據的清除,同樣微信小程序api也提供了可使用的介面,
至此微信小程序本地保存數據就此結束!
⑼ 微信小程序開發——本地緩存
本地緩存是指微信小程序存儲在當前設備空間里地數據。在官方文檔說明中,其所有的數據存儲上限為10MB即單個小程序的存儲空間上限為10MB。==在使用過程中用戶使用本地緩存可以存儲一些非重要性的生產操作,例如讓小程序再次打開能快速渲染頁面,減少用戶等待時間。
小程序提供了讀寫刪本地緩存的方法:
關於同步緩存和非同步緩存的區別
非同步與同步的區別是,非同步不會阻塞當前任務,同步緩存直到同步方法處理完才能繼續往下執行。
寫入本地緩存
根據key讀取本地緩存
根據key移除本地緩存
清除本地所有緩存
最後,還要注意的一點是如果寫入了同樣key的緩存數據,後寫的會覆蓋了前者,因此需要我們注意一下