详解微信小程序缓存--缓存时效性


Posted in Javascript onMay 02, 2019

关于本地缓存

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;

}

}

以上所述是小编给大家介绍的微信小程序缓存时效性详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
javascript开发技术大全-第1章javascript概述
Jul 03 Javascript
给超链接添加特效鼠标移动展示提示信息且随鼠标移动
Oct 17 Javascript
解决用jquery load加载页面到div时,不执行页面js的问题
Feb 22 Javascript
Javascript正则控制文本框只能输入整数或浮点数
Sep 02 Javascript
JS获得选取checkbox整行数据的方法
Jan 28 Javascript
js完美实现@提到好友特效(兼容各大浏览器)
Mar 16 Javascript
javascript+html5实现绘制圆环的方法
Jul 28 Javascript
jQuery手机拨号界面特效代码分享
Aug 27 Javascript
Jquery easyui开启行编辑模式增删改操作
Jan 14 Javascript
Fullpage.js固定导航栏-实现定位导航栏
Mar 17 Javascript
最全面的百度地图JavaScript离线版开发
Sep 10 Javascript
利用js来实现缩略语列表、文献来源链接和快捷键列表
Dec 16 Javascript
详解如何使用router-link对象方式传递参数?
May 02 #Javascript
详解Vue底部导航栏组件
May 02 #Javascript
微信小程序搭建自己的Https服务器
May 02 #Javascript
Node.js中Koa2在控制台输出请求日志的方法示例
May 02 #Javascript
详解微信小程序网络请求接口封装实例
May 02 #Javascript
vue 搭建后台系统模块化开发详解
May 01 #Javascript
vue.js 2.*项目环境搭建、运行、打包发布的详细步骤
May 01 #Javascript
You might like
星际玩家的三大定律
2020/03/04 星际争霸
Linux下 php5 MySQL5 Apache2 phpMyAdmin ZendOptimizer安装与配置[图文]
2008/11/18 PHP
PHP 验证登陆类分享
2015/03/13 PHP
php实现读取内存顺序号
2015/03/29 PHP
php递归实现无限分类的方法
2015/07/28 PHP
PHP使用SOAP扩展实现WebService的方法
2016/04/01 PHP
PHP实现大数(浮点数)取余的方法
2017/02/18 PHP
PHP 中TP5 Request 请求对象的实例详解
2017/07/31 PHP
使用 laravel sms 构建短信验证码发送校验功能
2017/11/06 PHP
php 广告点击统计代码(php+mysql)
2018/02/21 PHP
PHP PDOStatement::execute讲解
2019/01/31 PHP
JScript中的&quot;this&quot;关键字使用方式补充材料
2007/03/08 Javascript
为调试JavaScript添加输出窗口的代码
2010/02/07 Javascript
checkbox选中与未选中判断示例
2014/08/04 Javascript
jQuery日历插件datepicker用法详解
2016/03/03 Javascript
深入解析jQuery中Deferred的deferred.promise()方法
2016/05/03 Javascript
基于BootStrap Metronic开发框架经验小结【五】Bootstrap File Input文件上传插件的用法详解
2016/05/12 Javascript
javascript验证内容为数字以及长度为10的简单实例
2016/08/20 Javascript
JavaScript的变量声明提升问题浅析(Hoisting)
2016/11/30 Javascript
纯js实现悬浮按钮组件
2016/12/17 Javascript
js实现带三角符的手风琴效果
2017/03/01 Javascript
详解在vue-cli中使用路由
2017/09/25 Javascript
详解微信小程序与内嵌网页交互实现支付功能
2018/10/22 Javascript
JavaScript单线程和任务队列原理解析
2020/02/04 Javascript
node.js中对Event Loop事件循环的理解与应用实例分析
2020/02/14 Javascript
vue实现给div绑定keyup的enter事件
2020/07/31 Javascript
Python如何实现动态数组
2019/11/02 Python
django 实现手动存储文件到model的FileField
2020/03/30 Python
购买英国原创艺术:Art Gallery
2018/08/25 全球购物
如何将一个描述日期或日期/时间的字符串转换为一个Date对象
2015/10/13 面试题
2014信息技术专业毕业生自我评价
2014/01/17 职场文书
化工见习报告范文
2014/10/31 职场文书
聘任书范文大全
2015/09/21 职场文书
李白经典诗之一:全文无一“月”字,却句句有月
2019/07/12 职场文书
Golang 实现获取当前函数名称和文件行号等操作
2021/05/08 Golang
react中useState使用:如何实现在当前表格直接更改数据
2022/08/05 Javascript