微信小程序 数据缓存实现方法详解
微信小程序可以通过wx.setstorage(wx.setstoragesync)、wx.getstorage(wx.getstoragesync)、wx.clearstorage(wx.clearstoragesync)对本地缓存进行设置、获取和清理。本地缓存最大为10mb。
wx.setstorage()---------异步设置缓存
微信官方给出的属性
object参数说明:
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
key | string | 是 | 本地缓存中的指定的 key |
data | object/string | 是 | 需要存储的内容 |
success | function | 否 | 接口调用成功的回调函数 |
fail | function | 否 | 接口调用失败的回调函数 |
complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
调用方式:
wx.setstorage({ key:"key", data:"value" })
wx.setstoragesync()---------同步设置缓存
微信官方给出的属性
参数说明:
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
key | string | 是 | 本地缓存中的指定的 key |
data | object/string | 是 | 需要存储的内容 |
调用方式:
try { wx.setstoragesync('key', 'value') } catch (e) { }
wx.getstorage()--------异步获取缓存
微信官方给出的属性
object参数说明:
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
key | string | 是 | 本地缓存中的指定的 key |
success | function | 是 | 接口调用的回调函数,res = {data: key对应的内容} |
fail | function | 否 | 接口调用失败的回调函数 |
complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
success返回参数说明:
参数 | 类型 | 说明 |
---|---|---|
data | string | key对应的内容 |
调用方式:
wx.getstorage({ key: 'key', success: function(res) { console.log(res.data) } })
wx.getstoragesync()--------同步获取缓存数据
微信官方给出的属性说明
参数说明:
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
key | string | 是 | 本地缓存中的指定的 key |
调用方式:
try { var value = wx.getstoragesync('key') if (value) { // do something with return value } } catch (e) { // do something when catch error }
wx.getstorageinfo()------异步获取当前缓存的数据
微信官方给出的属性说明
object参数说明:
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
success | function | 是 | 接口调用的回调函数,详见返回参数说明 |
fail | function | 否 | 接口调用失败的回调函数 |
complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
success返回参数说明:
参数 | 类型 | 说明 |
---|---|---|
keys | string array | 当前storage中所有的key |
currentsize | number | 当前占用的空间大小, 单位kb |
limitsize | number | 限制的空间大小,单位kb |
调用方式:
wx.getstorageinfo({ success: function(res) { console.log(res.keys) console.log(res.currentsize) console.log(res.limitsize) } })
wx.getstorageinfosync()-------同步获取当前缓存数据
emmmmm---微信并没有给参数说明
调用方式:
try { var res = wx.getstorageinfosync() console.log(res.keys) console.log(res.currentsize) console.log(res.limitsize) } catch (e) { // do something when catch error }
wx.removestorage()-----异步移除指定的key的缓存数据
微信官方参数说明
object参数说明:
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
key | string | 是 | 本地缓存中的指定的 key |
success | function | 是 | 接口调用的回调函数 |
fail | function | 否 | 接口调用失败的回调函数 |
complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
调用方式:
wx.removestorage({ key: 'key', success: function(res) { console.log(res.data) } })
wx.removestoragesync()------同步移除指定key的缓存数据
微信官方参数说明
参数说明:
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
key | string | 是 | 本地缓存中的指定的 key |
调用方式:
try { wx.removestoragesync('key') } catch (e) { // do something when catch error }
wx.clearstorage()------异步清理本地缓存
调用方式:
wx.clearstorage()
wx.clearstoragesync()-------同步清理本地缓存
调用方式:
try { wx.clearstoragesync() } catch(e) { // do something when catch error }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
上一篇: ASP程序给上传的图片增添水印效果!