微信小程序缓存-------缓存时效性
来源:互联网 发布:姓氏排序软件 编辑:程序博客网 时间:2024/06/05 04:12
关于本地缓存
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(k, v, t)
k为key,v为具体内容(支持字符串、json、数组、boolean等等),t为可选参数表示有效时间(单位:秒)如存储k为123过期时间1秒,
则调用put('k', '123', 1)方法;若永久存储调用put('k', '123') 永久保存json:put('k', {"a":"1"}),数组、boolean等同理。
function put(k, v, t) {
wx.setStorageSync(k, v)
var seconds = parseInt(t);
if (seconds > 0) {
var timestamp = Date.parse(new Date());
timestamp = timestamp / 1000 + seconds;
wx.setStorageSync(k + dtime, timestamp + "")
} else {
wx.removeStorageSync(k + dtime)
}
}
读取缓存-----get(k, def)-------def(自定义读取失败的默认值)
k为key,def为可选参数,表示无缓存数据时返回值(支持字符串、json、数组、boolean等等)
如读取k缓存,则调用get('k');若想要无缓存时,返回默认值则get('k','默认值'),支持各个数据类型。
function get(k, def) {
var deadtime = parseInt(wx.getStorageSync(k + dtime))
if (deadtime) {
if (parseInt(deadtime) < Date.parse(new Date()) /1000) {
if (def) { return def; }else { return; }
}
}
var res = wx.getStorageSync(k);
if (res) {
return res;
} else {
return def;
}
}
remove(k)
移除某个keyclear()
清空所有key具体的源码及使用方法见------https://gitee.com/JiangMu/wcache
阅读全文
0 0
- 微信小程序缓存-------缓存时效性
- 微信小程序本地缓存
- 微信小程序数据缓存
- 微信小程序缓存的详解
- 微信小程序—数据缓存
- 微信小程序之数据缓存
- 微信小程序缓存的详解
- 缓存
- 缓存
- 缓存
- 缓存
- 缓存
- 缓存
- 缓存
- 缓存
- 缓存
- 缓存
- 缓存
- 瑞芯微开发编译过程参考
- leetcode 458. Poor Pigs
- 一些好文章的地址
- MapReduce之Shuffle
- win7下安装docker
- 微信小程序缓存-------缓存时效性
- 个人遇到的自定义dialog中内容无法居中的问题
- mysql数据导入的三种方法
- Orcal 中的树级列表 Start with connect by prior 递归查询
- phpstorm 结合 YUI Compressor 实现自动压缩文件
- Codeforces Round #225 (Div. 1) B 模拟:
- Mysql查询数据时,自动为结果编上序号
- 线性约束自适应波束形成
- Windows进程内存计算