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


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 相关文章推荐
asp.net中System.Timers.Timer的使用方法
Mar 20 Javascript
js 删除数组的几种方法小结
Feb 21 Javascript
javascript实时获取鼠标坐标值并显示的方法
Apr 30 Javascript
RequireJS使用注意细节
May 15 Javascript
JS弹出窗口插件zDialog简单用法示例
Jun 12 Javascript
基于javascript实现数字英文验证码
Jan 25 Javascript
利用node.js写一个爬取知乎妹纸图的小爬虫
May 03 Javascript
Vue.js学习笔记之常用模板语法详解
Jul 25 Javascript
Angular实现的table表格排序功能完整示例
Dec 22 Javascript
JS常见构造模式实例对比分析
Aug 27 Javascript
使用Vue实现移动端左滑删除效果附源码
May 16 Javascript
js事件机制----捕获与冒泡机制实例分析
May 22 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
在IIS上安装PHP4.0正式版
2006/10/09 PHP
基于php冒泡排序算法的深入理解
2013/06/09 PHP
PHP @ at 记号的作用示例介绍
2014/10/10 PHP
php中使用key,value,current,next和prev函数遍历数组的方法
2015/03/17 PHP
php自定义截取中文字符串-utf8版
2017/02/27 PHP
PHP基于接口技术实现简单的多态应用完整实例
2017/04/26 PHP
php原生数据库分页的代码实例
2019/02/18 PHP
jQuery获取Select选择的Text和Value(详细汇总)
2013/01/25 Javascript
如何调试异步加载页面里包含的js文件
2014/10/30 Javascript
node.js中的fs.chown方法使用说明
2014/12/16 Javascript
深入php面向对象、模式与实践
2016/02/16 Javascript
jquery ezUI 双击行记录弹窗查看明细的实现方法
2016/06/01 Javascript
修改js confirm alert 提示框文字的简单实例
2016/06/10 Javascript
怎样判断jQuery当前元素是隐藏还是显示
2016/11/23 Javascript
Web前端框架Angular4.0.0 正式版发布
2017/03/28 Javascript
Vue.js tab实现选项卡切换
2017/05/16 Javascript
vue实现百度搜索下拉提示功能实例
2017/06/14 Javascript
angular项目中bootstrap-datetimepicker时间插件的使用示例
2018/03/15 Javascript
Node.js 使用axios读写influxDB的方法示例
2018/10/26 Javascript
利用TensorFlow训练简单的二分类神经网络模型的方法
2018/03/05 Python
python 获取指定文件夹下所有文件名称并写入列表的实例
2018/04/23 Python
Falsk 与 Django 过滤器的使用与区别详解
2019/06/04 Python
在Qt中正确的设置窗体的背景图片的几种方法总结
2019/06/19 Python
对PyQt5中的菜单栏和工具栏实例详解
2019/06/20 Python
python 基于opencv实现高斯平滑
2020/12/18 Python
python3中celery异步框架简单使用+守护进程方式启动
2021/01/20 Python
html5 Canvas画图教程(4)—未闭合的路径及渐变色的填充方法
2013/01/09 HTML / CSS
Html5实现二维码扫描并解析
2016/01/20 HTML / CSS
How TDD works
2012/09/30 面试题
JSF的标签库有哪些
2012/04/27 面试题
科室工作的个人自我评价
2013/10/30 职场文书
元旦晚会邀请函
2014/01/27 职场文书
教师师德师风个人整改方案
2014/09/18 职场文书
县委务虚会发言材料
2014/10/20 职场文书
2016参观监狱警示教育活动心得体会
2016/01/15 职场文书
2016基督教会圣诞节开幕词
2016/03/04 职场文书