本篇随笔主要介绍微信小程序本地缓存API函数,微信小程序可以在本地缓存一些关键词数据,每一条关键词对应一段字符串。微信小程序提供了以下API函数。

微信小程序globalData是缓存的吗_接口调用

 

8.1 同步存储与调用

wx.setStorageSync(string key, Object|string data)

其中key代表关键词;data代表一段字符串数据。只能是字符串。

Object|string wx.getStorageSync(string key)

其中key是关键词参数,返回值为一个字符串。

具体事例如下:

wx.setStorageSync("DaysRemain", days1);
        wx.setStorageSync("Notice", days2);

  

 

8.2 异步存储与调用

wx.getStorage(Object object)

从本地缓存中异步获取指定 key 的内容

其中object为一个对象,其具有以下内容

属性

类型

默认值

是否必填

说明

支持版本

key

string

 


本地缓存中指定的 key

 

success

function

 


接口调用成功的回调函数

 

fail

function

 


接口调用失败的回调函数

 

complete

function

 


接口调用结束的回调函数(调用成功、失败都会执行)

 其中success回调函数的res对象带有data数据,res.data

举例如下:

wx.getStorage({
      //获取数据的key
      key: 'key',
      success: function(res) {
        console.log(res)
        
      },
      /**
       * 失败会调用
       */
      fail: function(res) {
        console.log(res)
      }
    })

  

wx.setStorage(Object object)

将数据存储在本地缓存中指定的 key 中,会覆盖掉原来该 key 对应的内容

其object对象如下:

属性

类型

默认值

是否必填

说明

支持版本

key

string

 


本地缓存中指定的 key

 

data

Object/string

 


需要存储的内容

 

success

function

 


接口调用成功的回调函数

 

fail

function

 


接口调用失败的回调函数

 

complete

function

 


接口调用结束的回调函数(调用成功、失败都会执行)


具体事例如下所示:

wx.setStorage({
      key: 'key',
      data: '我是storeage异步存储的信息',
      success: function(res) {
        console.log(res)
      }
    fail:function(res){
       console.log(res)
    } 
    })

  

说明:同步异步的主要区别在于异步可以书写回调函数。

 

8.3 清除某关键词函数

wx.removeStorage(Object object)//异步清除,其object对象内容与之前一致。
wx.removeStorageSync(string key)//同步清除
 
8.4 清除所有缓存
 
wx.clearStorage(Object object)//异步清除
wx.clearStorageSync()//wx.clearStorage 的同步版本
 
8.5 获取所有信息
wx.getStorageInfo(Object object)

异步获取当前storage的相关信息

 其也对应有success函数、fail函数。成功后他会携带一个res入口对象,res具有以下属性。一则为key的数组。二则为大小;我们可以将key数据保存到一个数组中,如此就知道缓存中有什莫数据了。

属性

类型

说明

支持版本

keys

Array.<string>

当前 storage 中所有的 key

 

currentSize

number

当前占用的空间大小, 单位 KB

 

limitSize

number

限制的空间大小,单位 KB

Object wx.getStorageInfoSync()

wx.getStorageInfo 的同步版本

此函数返回值为一个对象,该对象具有的参数和上述一致。

 

 8.6 调试工具

在Debug界面有调试工具storage,我们可以通过观察storage的变化来检测数据的变化。

微信小程序globalData是缓存的吗_本地缓存_02

 

 

 

【小任务】

制作一个TODOlist实现备忘录功能,添加一个事件,就将此事件保存到本地数据中,事件我们存储在对象列表中,每一个事件包含:完成情况、事件描述。其他你可以自己增加。