微信小程序 本地mysql_微信小程序系列之使用缓存在本地模拟服务器数据库
微信小程序系列之使用緩存在本地模擬服務器數據庫
現在將data.js這個文件視作是本地數據庫的初始化數據,要做的第一件事就是講這些初始化數據裝進緩存中,以形成數據庫的初始化數據
整個應用程序的生命周期,類比一下頁面的生命周期,在頁面的js文件中,我們使用Page(object)來注冊頁面,并在object中指定頁面的生命周期函數,同樣可以在app.js中使用App(object)來注冊小程序,并在object中指定小程序的生命周期函數
onLaunch 監聽小程序的初始化,當小程序初始化完成時,會觸發onLaunch(全局只觸發一次)
onShow 監聽小程序的顯示,當小程序啟動或者從后臺進入前臺時,會觸發onShow的事件
onHide 監聽小程序的隱藏,當小程序從前臺進入到后臺時
onError 監聽小程序的錯誤,發生錯誤時會觸發onError
當然,還可以自己任意添加函數到Objectc參數中,用this可以訪問這些函數和數據
最好的初始化數據是在應用程序啟動時
在app.js中植入數據
var dataObj=require("data/data.js")
App({
onLaunch:function(){//初始化
key: 'postData',
data: 'dataObj.postList',//需要存儲的內容
success:function(res){//緩存成功。調用
},
fail: function (res) {//緩存失敗調用函數
},
complete: function (res) {//緩存完整,調用
},
})
}
})
在上面代碼中,首先通過require加載data.js作為初始化數據,在應用程序中onLaunch使用wx.setStorage方法將數據存入到緩存中(key:"postData" data:"dataObj.postList")
只要用戶不主動清除緩存,則緩存一直存在
緩存以key:value鍵值對的形式存在,很類似于服務器流行的memcache或者redis緩存型數據庫
小程序提供了一系列API用來操作緩存,包括:存儲,讀取,移除,清除全部,和獲取緩存信息
請注意清除和移除,刪除某一個key的緩存,請使用wx.removeStrorage方法,刪除所有的wx.clearStorage,不存在過期時間,如果想清除緩存,則需要主動調用清除緩存的API
所有的異步API都會有success,fail,complete
key用來設置緩存的鍵,data是用來緩存的數據
異步緩存:
var dataObj=require("data/data.js")
App({
onLaunch:function(){
//? ? key: 'postData',
//? ? data: 'dataObj.postList',
//? ? success:function(res){
//? ? },
//? ? fail: function () {
//? ? },
//? ? complete: function () {
//? ? },
//? })
//同步緩存
}
})
同步緩存的方法wx.setStorageSync是在異步方法名中wx.setStorageSync后面加上Sync,其他的異步方法也是加上sync,,沒有success,fail,complete方法,建議優先使用同步方法
小程序每一次啟動就會執行一次require和一次setStorageSync,這是非常麻煩的,我們應當讓數據庫在不存在時候,才會緩存數據。要不然每一次數據修改就會被初始化數據覆蓋
App({//數據初始化判斷
onLaunch:function(){
//? ? key: 'postData',
//? ? data: 'dataObj.postList',
//? ? success:function(res){
//? ? },
//? ? fail: function () {
//? ? },
//? ? complete: function () {
//? ? },
//? })
//同步緩存
優化緩存的初始化判斷:
var storageData=wx.getStorageSync('postData');
if(!storageData){
var dataObj = require("data/data.js");
}
}
})
wx.getStorageSync(key)這個方法可以首先獲取指定的key的值緩存內容,如果沒有則指定的key的緩存不存在,先清除所有的緩存,wx.clearStorage(),才開始初始化數據庫,避免了每次都要初始化數據庫
第一次寫文章,不足之處多多指教
總結
以上是生活随笔為你收集整理的微信小程序 本地mysql_微信小程序系列之使用缓存在本地模拟服务器数据库的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 树莓派python编程读取电压_《树莓派
- 下一篇: plupload怎么设置属性_腾达无线路