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


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 相关文章推荐
jquery HotKeys轻松搞定键盘事件代码
Aug 30 Javascript
利用js获取服务器时间的两个简单方法
Jan 08 Javascript
容易被忽略的JS脚本特性
Sep 13 Javascript
jquery实现输入框动态增减的实例代码
Jul 14 Javascript
JavaScript的事件绑定(方便不支持js的时候)
Oct 01 Javascript
Javscript删除数组中指定元素并返回新数组
Mar 06 Javascript
JS实现CheckBox复选框全选全不选功能
May 06 Javascript
js实现跨域的4种实用方法原理分析
Oct 29 Javascript
利用jquery禁止外层滚动条的滚动
Jan 05 Javascript
vue 通过绑定事件获取当前行的id操作
Jul 27 Javascript
原生JS实现京东查看商品点击放大
Dec 21 Javascript
js 实现Material UI点击涟漪效果示例
Sep 23 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
一个基于PDO的数据库操作类
2011/03/24 PHP
PHP下通过exec获得计算机的唯一标识[CPU,网卡 MAC地址]
2011/06/09 PHP
PHP读取PDF内容配合Xpdf的使用
2012/11/24 PHP
实例详解PHP中html word 互转的方法
2016/01/28 PHP
Symfony模板的快捷变量用法实例
2016/03/17 PHP
PHP实现微信提现功能
2018/09/30 PHP
TP5(thinkPHP框架)实现后台清除缓存功能示例
2019/05/29 PHP
取得传值的函数
2006/10/27 Javascript
Raphael带文本标签可拖动的图形实现代码
2013/02/20 Javascript
jsp js鼠标移动到指定区域显示选项卡离开时隐藏示例
2013/06/14 Javascript
基于mouseout和mouseover等类似事件的冒泡问题解决方法
2013/11/18 Javascript
Android中Okhttp3实现上传多张图片同时传递参数
2017/02/18 Javascript
全面解析vue中的数据双向绑定
2017/05/10 Javascript
node通过npm写一个cli命令行工具
2017/10/12 Javascript
通过jquery.cookie.js实现记住用户名、密码登录功能
2018/06/20 jQuery
vue+iview+less 实现换肤功能
2018/08/17 Javascript
详解Vue前端对axios的封装和使用
2019/04/01 Javascript
Jquery异步上传文件代码实例
2019/11/13 jQuery
从表单校验看JavaScript策略模式的使用详解
2020/10/17 Javascript
[49:35]LGD vs OG 2018国际邀请赛淘汰赛BO3 第二场 8.25
2018/08/29 DOTA
[58:59]完美世界DOTA2联赛PWL S3 access vs CPG 第一场 12.13
2020/12/16 DOTA
浅析Python多线程下的变量问题
2015/04/28 Python
python实现多人聊天室
2020/03/31 Python
对python_discover方法遍历所有执行的用例详解
2019/02/13 Python
Python 类,property属性(简化属性的操作),@property,property()用法示例
2019/10/12 Python
python 获取当前目录下的文件目录和文件名实例代码详解
2020/03/10 Python
pycharm sciview的图片另存为操作
2020/06/01 Python
python代码中怎么换行
2020/06/17 Python
Html5元素及基本语法详解
2016/08/02 HTML / CSS
Booking.com亚太地区:Booking.com APAC
2020/02/07 全球购物
C语言笔试集
2012/07/24 面试题
初婚初育证明范本
2014/11/24 职场文书
工作检讨书怎么写
2015/01/23 职场文书
离婚协议书格式范本
2016/03/18 职场文书
教你利用python实现企业微信发送消息
2021/05/23 Python
nginx负载功能+nfs服务器功能解析
2022/02/28 Servers