网站建设讲话,青岛推广信息,php网站好处,嘉兴做外贸网站比较好的公司微信小程序系列之使用缓存在本地模拟服务器数据库现在将data.js这个文件视作是本地数据库的初始化数据#xff0c;要做的第一件事就是讲这些初始化数据装进缓存中#xff0c;以形成数据库的初始化数据整个应用程序的生命周期#xff0c;类比一下页面的生命周期#xff0c;在…微信小程序系列之使用缓存在本地模拟服务器数据库现在将data.js这个文件视作是本地数据库的初始化数据要做的第一件事就是讲这些初始化数据装进缓存中以形成数据库的初始化数据整个应用程序的生命周期类比一下页面的生命周期在页面的js文件中我们使用Page(object)来注册页面并在object中指定页面的生命周期函数同样可以在app.js中使用App(object)来注册小程序并在object中指定小程序的生命周期函数onLaunch 监听小程序的初始化当小程序初始化完成时会触发onLaunch(全局只触发一次)onShow 监听小程序的显示当小程序启动或者从后台进入前台时会触发onShow的事件onHide 监听小程序的隐藏当小程序从前台进入到后台时onError 监听小程序的错误发生错误时会触发onError当然还可以自己任意添加函数到Objectc参数中用this可以访问这些函数和数据最好的初始化数据是在应用程序启动时在app.js中植入数据var dataObjrequire(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都会有successfail,completekey用来设置缓存的键data是用来缓存的数据异步缓存var dataObjrequire(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 storageDatawx.getStorageSync(postData);if(!storageData){var dataObj require(data/data.js);}}})wx.getStorageSync(key)这个方法可以首先获取指定的key的值缓存内容如果没有则指定的key的缓存不存在先清除所有的缓存wx.clearStorage(),才开始初始化数据库避免了每次都要初始化数据库第一次写文章不足之处多多指教