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


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 相关文章推荐
在第一个input框内输入内容.textarea自动得到第一个文件框的值的javascript代码
Apr 20 Javascript
artDialog双击会关闭对话框的修改过程分享
Aug 05 Javascript
js 获取、清空input type=&quot;file&quot;的值示例代码
Feb 19 Javascript
jQuery自定义添加&quot;$&quot;与解决&quot;$&quot;冲突的方法
Jan 19 Javascript
浅谈JS的基础类型与引用类型
Sep 13 Javascript
详解利用exif.js解决ios手机上传竖拍照片旋转90度问题
Nov 04 Javascript
引入JavaScript时alert弹出框显示中文乱码问题
Sep 16 Javascript
js module大战
Apr 19 Javascript
基于vue实现一个神奇的动态按钮效果
May 15 Javascript
js实现简单选项卡制作
Aug 05 Javascript
js实现淘宝浏览商品放大镜功能
Oct 28 Javascript
javascript中call,apply,bind的区别详解
Dec 11 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实现多服务器session共享之NFS共享的方法
2007/03/16 PHP
php小型企业库存管理系统的设计与实现代码
2011/05/16 PHP
WordPress中设置Post Type自定义文章类型的实例教程
2016/05/10 PHP
Yii实现复选框批量操作实例代码
2017/03/15 PHP
Win10 下安装配置IIS + MySQL + nginx + php7.1.7
2017/08/04 PHP
学习ExtJS Column布局
2009/10/08 Javascript
jQuery 过滤not()与filter()实例代码
2012/05/10 Javascript
js动态添加事件并可传参数示例代码
2013/10/21 Javascript
js操作IE浏览器弹出浏览文件夹可以返回目录路径
2014/07/14 Javascript
jQuery实现DIV层收缩展开的方法
2015/02/27 Javascript
JavaScript中textRange对象使用方法小结
2015/03/24 Javascript
JS实现来回出现文字的状态栏特效代码
2015/10/31 Javascript
javascript实现简单加载随机色方块
2015/12/25 Javascript
自动化测试读写64位操作系统的注册表
2016/08/15 Javascript
Angular实现预加载延迟模块的示例
2017/10/12 Javascript
详解用Node.js写一个简单的命令行工具
2018/03/01 Javascript
小程序中英文混合排序问题解决
2019/08/02 Javascript
vscode 配置vue+vetur+eslint+prettier自动格式化功能
2020/03/23 Javascript
[00:56]2014DOTA2国际邀请赛 DK、iG 赛前探访
2014/07/10 DOTA
[01:32]DOTA2 2015国际邀请赛中国区预选赛第四日战报
2015/05/29 DOTA
Python通过递归遍历出集合中所有元素的方法
2015/02/25 Python
Python实现计算文件MD5和SHA1的方法示例
2019/06/11 Python
python判断一个对象是否可迭代的例子
2019/07/22 Python
python实现两个一维列表合并成一个二维列表
2019/12/02 Python
python常量折叠基础知识点讲解
2021/02/28 Python
中科软笔试题和面试题
2014/10/07 面试题
大学生怎样进行自我评价
2013/12/07 职场文书
区域销售经理岗位职责
2013/12/10 职场文书
销售求职信范文
2014/05/26 职场文书
幼儿园教师节活动总结
2015/03/23 职场文书
法人代表证明书范本
2015/06/18 职场文书
2019感恩宣传标语!
2019/07/05 职场文书
vue使用节流函数的踩坑实例指南
2021/05/20 Vue.js
Python卷积神经网络图片分类框架详解分析
2021/11/07 Python
python 判断文件或文件夹是否存在
2022/03/18 Python
Nginx代理Redis哨兵主从配置的实现
2022/07/15 Servers