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


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闭包 新手版
Dec 28 Javascript
JS判断不能为空实例代码
Nov 26 Javascript
使用JavaScript获取电池状态的方法
May 03 Javascript
JavaScript中实现最高效的数组乱序方法
Oct 11 Javascript
js实现div模拟模态对话框展现URL内容
May 27 Javascript
基于JSON数据格式详解
Aug 31 Javascript
AngularJS 表单验证手机号的实例(非必填)
Nov 12 Javascript
jQuery中的类名选择器(.class)用法简单示例
May 14 jQuery
js实现坦克移动小游戏
Oct 28 Javascript
electron+vue实现div contenteditable截图功能
Jan 07 Javascript
如何构建一个Vue插件并生成npm包
Oct 26 Javascript
详解javascript脚本何时会被执行
Feb 05 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的header和asp中的redirect比较
2006/10/09 PHP
PHP人民币金额数字转中文大写的函数代码
2013/02/27 PHP
PHP获取本周第一天和最后一天示例代码
2014/02/24 PHP
PDO::getAttribute讲解
2019/01/28 PHP
php 多继承的几种常见实现方法示例
2019/11/18 PHP
关于IE7 IE8弹出窗口顶上
2008/12/22 Javascript
JavaScript学习笔记(十)
2010/01/17 Javascript
jQuery timers计时器简单应用说明
2010/10/28 Javascript
vuejs父子组件通信的问题
2017/01/11 Javascript
Element实现表格嵌套、多个表格共用一个表头的方法
2020/05/09 Javascript
解决VUE-Router 同一页面第二次进入不刷新的问题
2020/07/22 Javascript
Vue的Options用法说明
2020/08/14 Javascript
Vue+Element自定义纵向表格表头教程
2020/10/26 Javascript
[02:02:38]VG vs Mineski Supermajor 败者组 BO3 第一场 6.6
2018/06/07 DOTA
Python基于pygame实现的font游戏字体(附源码)
2015/11/11 Python
python使用pycharm环境调用opencv库
2018/02/11 Python
Python文件如何引入?详解引入Python文件步骤
2018/12/10 Python
python threading和multiprocessing模块基本用法实例分析
2019/07/25 Python
python自动发微信监控报警
2019/09/06 Python
python 非线性规划方式(scipy.optimize.minimize)
2020/02/11 Python
python实现学生管理系统开发
2020/07/24 Python
Python中logging日志的四个等级和使用
2020/11/17 Python
CSS3 Media Queries详细介绍和使用实例
2014/05/08 HTML / CSS
纯CSS实现右侧底部悬浮效果(悬浮QQ、微信、微博、邮箱等联系方式)
2015/04/24 HTML / CSS
整理HTML5中支持的URL编码与字符编码
2016/02/23 HTML / CSS
多视角3D可旋转的HTML5 Logo动画
2016/03/02 HTML / CSS
维珍澳洲航空官网:Virgin Australia
2017/09/08 全球购物
群众路线批评与自我批评
2014/02/06 职场文书
《翻越远方的大山》教学反思
2014/04/13 职场文书
中国梦演讲稿教师篇
2014/04/23 职场文书
暖通工程师岗位职责
2014/06/12 职场文书
知识竞赛拉拉队口号
2014/06/16 职场文书
项目合作协议书
2014/09/23 职场文书
初三学生语文考试作弊检讨书
2014/12/14 职场文书
Spring中的使用@Async异步调用方法
2021/11/01 Java/Android
MySQL中order by的执行过程
2022/06/05 MySQL