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


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 相关文章推荐
Html中JS脚本执行顺序简单举例说明
Jun 19 Javascript
js操作二级联动实现代码
Jul 27 Javascript
单击浏览器右上角的X关闭窗口弹出提示的小例子
Jun 12 Javascript
javascript获取和判断浏览器窗口、屏幕、网页的高度、宽度等
May 08 Javascript
Angular发布1.5正式版,专注于向Angular 2的过渡
Feb 18 Javascript
javascript 分号总结及详细介绍
Sep 24 Javascript
Vue.js组件tab实现选项卡切换
Mar 23 Javascript
通过命令行生成vue项目框架的方法
Jul 12 Javascript
实时监控input框,实现输入框与下拉框联动的实例
Jan 23 Javascript
vue配置font-awesome5的方法步骤
Jan 27 Javascript
elementUI select组件使用及注意事项详解
May 29 Javascript
js中forEach,for in,for of循环的用法示例小结
Mar 14 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性能优化工具篇Benchmark类调试执行时间
2011/12/06 PHP
php中日期加减法运算实现代码
2011/12/08 PHP
JSON在PHP中的应用介绍
2012/09/08 PHP
php自定义session示例分享
2014/04/22 PHP
使用PHP+AJAX让WordPress动态加载文章的教程
2015/12/11 PHP
PHP仿微信发红包领红包效果
2016/10/30 PHP
PHP中类的自动加载的方法
2017/03/17 PHP
浅谈PHP中pack、unpack的详细用法
2018/03/12 PHP
JavaScript 放大镜 移动镜片效果代码
2011/05/09 Javascript
JavaScript中使用ActiveXObject操作本地文件夹的方法
2014/03/28 Javascript
微信分享的标题、缩略图、连接及描述设置方法
2014/10/14 Javascript
javascript制作游戏开发碰撞检测的封装代码
2015/03/31 Javascript
详解JavaScript的策略模式编程
2015/06/24 Javascript
jQuery实现单击弹出Div层窗口效果(可关闭可拖动)
2015/09/19 Javascript
jquery验证邮箱格式是否正确实例讲解
2015/11/16 Javascript
js实现根据身份证号自动生成出生日期
2015/12/15 Javascript
浅析创建javascript对象的方法
2016/05/13 Javascript
浅析JavaScript的几种Math函数,random(),ceil(),round(),floor()
2016/12/22 Javascript
Express使用html模板的详细代码
2017/09/18 Javascript
Vue.js简易安装和快速入门(第二课)
2017/10/17 Javascript
微信小程序商品详情页底部弹出框
2019/11/22 Javascript
vue组件创建的三种方式小结
2020/02/03 Javascript
vue基于better-scroll实现左右联动滑动页面
2020/06/30 Javascript
[01:01:24]DOTA2上海特级锦标赛A组败者赛 EHOME VS CDEC第三局
2016/02/25 DOTA
[01:16:13]DOTA2-DPC中国联赛 正赛 SAG vs Dragon BO3 第一场 2月22日
2021/03/11 DOTA
Python简单实现Base64编码和解码的方法
2017/04/29 Python
在Django中输出matplotlib生成的图片方法
2018/05/24 Python
python3使用flask编写注册post接口的方法
2018/12/28 Python
解决jupyter运行pyqt代码内核重启的问题
2020/04/16 Python
Pytorch 扩展Tensor维度、压缩Tensor维度的方法
2020/09/09 Python
在Python中实现字典反转案例
2020/12/05 Python
通信专业个人自我鉴定
2013/10/21 职场文书
《孔子拜师》教学反思
2014/02/24 职场文书
“九一八事变纪念日”国旗下讲话稿
2014/09/14 职场文书
清洁工工作总结
2015/08/11 职场文书
Spring Cloud 中@FeignClient注解中的contextId属性详解
2021/09/25 Java/Android