欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-06-21 22:17:50
每个小程序都可以有自己的本地缓存,可以通过 数据缓存的API 实现对本地缓存进行 设置、获取和清理。本地缓存最大为10M。localStorage是永久存储的,但我们不建议将关键信息都放在localStorage,以防用户更换设备。 设置本地缓存 1、wx.setStorage(OBJECT) 该接 ......

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