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


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 Ajax之$.get()方法和$.post()方法
Oct 12 Javascript
清除div下面的所有标签的方法
Feb 17 Javascript
PHP+jQuery实现随意拖动层并即时保存拖动位置
Apr 30 Javascript
javascript中substring()、substr()、slice()的区别
Aug 30 Javascript
JavaScript的模块化开发框架Sea.js上手指南
May 12 Javascript
ES2015 Symbol 一种绝不重复的值
Dec 25 Javascript
使用gulp搭建本地服务器并实现模拟ajax
Apr 05 Javascript
通过示例彻底搞懂js闭包
Aug 10 Javascript
JavaScript-定时器0~9抽奖系统详解(代码)
Aug 16 Javascript
解决jquery appaend元素中id绑定事件失效的问题
Sep 12 jQuery
vue中axios解决跨域问题和拦截器的使用方法
Mar 07 Javascript
微信小程序通过websocket实时语音识别的实现代码
Aug 19 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设计模式 php实现工厂模式(factory)
2015/12/07 PHP
解决laravel 5.1报错:No supported encrypter found的办法
2017/06/07 PHP
php数据结构之顺序链表与链式线性表示例
2018/01/22 PHP
实例讲解PHP中使用命名空间
2019/01/27 PHP
通过Unicode转义序列来加密,按你说的可以算是混淆吧
2007/05/06 Javascript
jquery 弹出登录窗口实现代码
2009/12/24 Javascript
用Jquery.load载入页面实现局部刷新
2014/01/22 Javascript
Javascript中封装window.open解决不兼容问题
2014/09/28 Javascript
javascript实现在线客服效果
2015/07/15 Javascript
JavaScript组件开发完整示例
2015/12/15 Javascript
JavaScript事件类型中焦点、鼠标和滚轮事件详解
2016/01/25 Javascript
基于zepto的移动端轻量级日期插件--date_picker
2016/03/04 Javascript
jQuery实现动态添加tr到table的方法
2016/12/26 Javascript
jquery 实时监听输入框值变化的完美方法(必看)
2017/01/26 Javascript
浅谈webpack-dev-server的配置和使用
2018/05/17 Javascript
js字符串处理之绝妙的代码
2019/04/05 Javascript
Vue实现简单计算器案例
2020/02/25 Javascript
js实现双色球效果
2020/08/02 Javascript
[11:57]《一刀刀一天》第十七期:TI中国军团加油!
2014/05/26 DOTA
Python下线程之间的共享和释放示例
2015/05/04 Python
Python闭包函数定义与用法分析
2018/07/20 Python
Python占用的内存优化教程
2019/07/28 Python
Pycharm 2019 破解激活方法图文详解
2019/10/11 Python
解决PyCharm无法使用lxml库的问题(图解)
2020/12/22 Python
美国复古街头服饰精品店:Need Supply Co.
2017/02/22 全球购物
Allen Edmonds官方网站:一家美国优质男士鞋类及配饰制造商
2019/03/12 全球购物
香港艺人陈冠希创办的潮流品牌:JUICESTORE
2021/03/04 全球购物
什么是数据抽象
2016/11/26 面试题
使用C#编写创建一个线程的代码
2013/01/22 面试题
简述Linux文件系统通过i节点把文件的逻辑结构和物理结构转换的工作过程
2016/01/06 面试题
爱国卫生月活动总结范文
2014/04/25 职场文书
2014领导班子四风问题对照检查材料思想汇报
2014/09/21 职场文书
简单通用的简历自我评价
2014/09/21 职场文书
农村党支部书记党群众路线四风问题整改措施
2014/09/26 职场文书
债务授权委托书范本
2014/10/17 职场文书
MySQL高速缓存启动方法及参数详解(query_cache_size)
2021/07/01 MySQL