这篇文章将为大家详细讲解有关微信小程序缓之缓存时效性的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
站在用户的角度思考问题,与客户深入沟通,找到盘山网站设计与盘山网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站制作、网站建设、企业官网、英文网站、手机端网站、网站推广、域名注册、网络空间、企业邮箱。业务覆盖盘山地区。
关于本地缓存
1.wx.setStorage(wx.setStorageSync)、wx.getStorage(wx.getStorageSync)、wx.clearStorage(wx.clearStorageSync)可以对本地缓存进行设置、获取和清理。本地缓存最大为10MB
2.localStorage 是永久存储
相应的api----------
wx.setStorage(OBJECT)
wx.getStorage(OBJECT)
wx.getStorageInfo(OBJECT)
wx.removeStorage(OBJECT)
wx.setStorageSync(KEY,DATA)
wx.getStorageSync(KEY)
wx.getStorageInfoSync
wx.clearStorage()
wx.clearStorageSync() ...
Api的具体使用详见官方文档
注意:这里又一个问题就是这些缓存不清理会永久的缓存----------然而实际开发中,我们往往需要设置一些缓存的时效性
所以就需要对这些api进行封装(二次开发)直接上代码
设置缓存-----------put(key, val, time) time为可选参数表示有效时间(单位:秒)
function put(key, val, time) { wx.setStorageSync(key, val) var seconds = parseInt(time); if (seconds > 0) { var timestamp = Date.parse(new Date()); timestamp = timestamp / 1000 + seconds; wx.setStorageSync(k + 'dtime', timestamp + "") } else { wx.removeStorageSync(k + 'dtime') } }
读取缓存-----get(key, def)-------def为可选参数,表示无缓存数据时返回值(支持字符串、json、数组、boolean等等)
function get(key, def) { var deadtime = parseInt(wx.getStorageSync(key+ 'dtime')) if (deadtime) { if (parseInt(deadtime) < Date.parse(new Date()) /1000) { if (def) { return def; }else { return; } } } var res = wx.getStorageSync(key); if (res) { return res; } else { return def; } }
关于“微信小程序缓之缓存时效性的示例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。