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


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 学习之旅 (2)
Feb 05 Javascript
javascript实现的在当前窗口中漂浮框的代码
Mar 15 Javascript
jQuery与ExtJS之选择实例分析
Aug 19 Javascript
js获取checkbox复选框选中的选项实例
Aug 24 Javascript
jQuery实现鼠标划过展示大图的方法
Mar 09 Javascript
JS使用ajax方法获取指定url的head信息中指定字段值的方法
Mar 24 Javascript
《JavaScript高级编程》学习笔记之object和array引用类型
Nov 01 Javascript
轻松掌握JavaScript中介者模式
Aug 26 Javascript
Bootstrap弹出框之自定义悬停框标题、内容和样式示例代码
Jul 11 Javascript
详解vue beforeEach 死循环问题解决方法
Feb 25 Javascript
JS实现滑动拼图验证功能完整示例
Mar 29 Javascript
vue中jsonp插件的使用方法示例
Sep 10 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
php表单提交与$_POST实例分析
2015/01/26 PHP
PHP实现中文圆形印章特效
2015/06/19 PHP
PHP实现基于文本的摩斯电码生成器
2016/01/11 PHP
Zend Framework动作助手Json用法实例分析
2016/03/05 PHP
深入浅析PHP无限极分类的案例教程
2016/05/09 PHP
PHP从二维数组得到N层分类树的实现代码
2016/10/11 PHP
字符串的replace方法应用浅析
2011/12/06 Javascript
jQuery实现图片信息的浮动显示实例代码
2013/08/28 Javascript
js实现特定位取反原理及示例
2014/06/30 Javascript
JavaScript中setFullYear()方法的使用详解
2015/06/11 Javascript
jQuery中常用的遍历函数用法实例总结
2015/09/01 Javascript
如何利用JS通过身份证号获取当事人的生日、年龄、性别
2016/01/22 Javascript
详解javascript获取url信息的常见方法
2016/12/19 Javascript
js实现简单的二级联动效果
2017/03/09 Javascript
Javascript中类式继承和原型式继承的实现方法和区别之处
2017/04/25 Javascript
js求数组中全部数字可拼接出的最大整数示例代码
2017/08/25 Javascript
微信内置开发 iOS修改键盘换行为搜索的解决方案
2019/11/06 Javascript
[01:04:01]2014 DOTA2华西杯精英邀请赛5 24 DK VS VG
2014/05/25 DOTA
Python操作SQLite数据库的方法详解【导入,创建,游标,增删改查等】
2017/07/11 Python
Python 记录日志的灵活性和可配置性介绍
2018/02/27 Python
深入理解Django自定义信号(signals)
2018/10/15 Python
使用Python获取网段IP个数以及地址清单的方法
2018/11/01 Python
python环境路径配置以及命令行运行脚本
2019/04/02 Python
python集合是否可变总结
2019/06/20 Python
python GUI库图形界面开发之PyQt5开发环境配置与基础使用
2020/02/25 Python
python的数学算法函数及公式用法
2020/11/18 Python
详解Django中的FBV和CBV对比分析
2021/03/01 Python
Raleigh兰令自行车美国官网:英国凤头牌自行车
2018/01/08 全球购物
专科毕业生就业推荐信
2013/11/01 职场文书
人力资源管理求职信
2014/08/07 职场文书
“四风”问题自我剖析材料思想汇报
2014/09/23 职场文书
2014党支部对照检查材料思想汇报
2014/10/05 职场文书
公司向个人借款协议书范本
2014/10/09 职场文书
罚款通知怎么写
2015/04/22 职场文书
超级实用的公文标题大全!
2019/07/19 职场文书
微信小程序纯CSS实现无限弹幕滚动效果
2022/09/23 HTML / CSS