【微信小程序】开发实战 之 「数据缓存API」解析
每个小程序都可以有自己的本地缓存,可以通过 数据缓存的api 实现对本地缓存进行 设置、获取和清理。本地缓存最大为10m。localstorage是永久存储的,但我们不建议将关键信息都放在localstorage,以防用户更换设备。
设置本地缓存
1、wx.setstorage(object)
该接口是异步接口,用于将数据存储在本地缓存中指定的key中。会覆盖掉该key对应的原来的内容。
该接口参数:
参数key, string类型, 必填项,本地缓存中指定的key。
参数data, object/string类型,必填项,需要存储的内容。
参数success,fail,complete,均为function类型,分别对应接口调用成功、失败和结束时的回调函数。
示例代码如下:
wx.setstorage({ key:"key", data:"value" })
2、wx.setstoragesync(key,data)
该接口是同步接口,用于将data存储在本地缓存中指定的key中。会覆盖掉该key对应的原来的内容。
该接口参数:
参数key, string类型, 必填项,本地缓存中指定的key。
参数data, object/string类型,必填项,需要存储的内容。
示例代码如下:
try{ wx.setstoragesync('key', 'value') }catch(e) { }
获取/删除 本地缓存
1、wx.getstorage (object) 和 wx.removestroage (object)
wx.getstorage (object) 用于从本地缓存中异步获取指定key对应的内容。
wx.removestroage (object) 用于从本地缓存中异步删除指定key对应的内容。
该接口参数:
参数key, string类型, 必填项,本地缓存中指定的key。
参数success, function类型, 必填项,接口调用成功时的回调函数,res = {data: key 对应的内容}
参数fail, function类型, 非必填,接口调用失败时的回调函数
参数complete, function类型, 非必填,接口调用结束时的回调函数(调用成功或失败都会执行)
示例代码如下:
wx.getstorage({ key: 'key', success: function(res) { console.log(res.data) } }); wx.removestorage({ key: 'key', success: function(res) { console.log(res.data) } })
2、wx.getstoragesync (key) 和 wx.removestroagesync (key)
wx.getstorage (key) 用于从本地缓存中同步获取指定key对应的内容。
wx.removestroage (key) 用于从本地缓存中同步删除指定key对应的内容。
参数为key,必填项,是本地缓存中的指定的key。
var value = wx.getstorage('key') if (value) { //do something with return value } try { wx.removestoragesync('key') } catch(e) { //do something when catch error }
获取当前storage的相关信息
1、wx.getstorageinfo (object)
该接口用于异步获取当前storage的相关信息。
该接口参数:
参数success(必填)、fail、complete,分别对应接口调用成功、失败和结束时的回调函数。其中success是必填项。
success返回参数说明如下:
keys,sting 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) } })
2、wx.getstorageinfosync()
该接口用于同步获取当前storage相关信息。
示例代码如下:
try { var res = wx.getstorageinfo() console.log( res.keys ) console.log( res.currentsize ) console.log( res.limitsize ) } catch (e) { // do something when catch error }
清理数据缓存
1、wx.clearstorage()
该接口用于清理本地数据缓存。
2、wx.clearstoragesync()
该接口则用于同步清理本地数据缓存。
示例代码如下:
wx.clearstorage() try { wx.clearstoragesync() } catch(e) { }
上一篇: 01-π、自然常识e、导数、导数的单调性
下一篇: 面向对象和pickle模块结合