当前位置: 移动技术网 > IT编程>开发语言>JavaScript > 【微信小程序】开发实战 之 「数据缓存API」解析

【微信小程序】开发实战 之 「数据缓存API」解析

2019年06月10日  | 移动技术网IT编程  | 我要评论

每个小程序都可以有自己的本地缓存,可以通过 数据缓存的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) {
}

 

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网