小程序API——数据缓存

一. 数据缓存到本地

微信提供了两种方式:

  1. wx.setStorage(OBJECT)

异步方式将数据缓存在本地缓存中指定的key中

会覆盖原来该key对应的内容

单个key允许存储的最大数据长度为1MB

keystring本地缓存中指定的key
dataany需要存储的内容
Page({
      onload:function(){
            var user = this.getUserInfo();
            console.log(user);
            wx.getStorage({
                  key:\'user\',
                  data:user,
                  success:function(res){
                        console.log(res);
                  }
            })
      },
      getUserInfo:function(){//自定义函数
            var user = new Object();
            user.name = \'xiaogang\';
            user.sex = \'boy\';
            user.age = 18;
            user.address = \'beijing\';
            return user;
      }
})
  1. wx.setStorageSync(KEY,DATA)

同步的方式将数据存储在本地指定的key中

会覆盖原来该key的内容

相比于异步缓存数据它更简单

keystring本地缓存中指定的key
dataObject/String需要存储的内容。只支持原生类型、Data、及能够通过JSON.stringify序列化的对象
Page({
      onload:function(){
            var userSync = this.getUserInfo();
            wx.setStorageSync(\'userSync\',userSync)
      },
      getUserInfo:function(){//自定义函数
            var user = new Object();
            user.name = \'xiaogang\';
            user.sex = \'boy\';
            user.age = 18;
            user.address = \'beijing\';
            return user;
      }
})

二. 获取本地缓存数据

微信提供了四个API

1.wx.getStorage(OBJECT)

使用异步方式从本地缓存中获取指定的key对应的内容

keystring本地缓存中指定的key

2.wx.getStorageSync(OBJECT)

同步接口,用来从本地缓存中同步获取指定的key对应的内容

keystring本地缓存中指定的key
Page({
      onLoad:function(){
            var userSync = wx.getStorageSync(\'userSync\');
            console.log(userSync);
      }
})
  1. wx.getStorageInfo(OBJECT)

    用异步方式获取当前storage的相关信息,来获取所有key的值

    回调函数

Page({
      onLoad:function(){
            wx.getStorageInfo({
                  success:function(res){
                        console.log(res)
                  }
            })
      }
})
  1. wx.getStorageInfoSync(OBJECT)
Page({
      onLoad:function(){
            var storage = wx.getStorageInfoSync();
            console.log(storage);
      }
})

三. 移除和清理本地缓存数据

微信提供四个接口:

1.wx.removeStorage(OBJECT)

  从本地缓存中移除指定key

2.wx.removeStorageSync(KEY)

  从本地缓存中移除指定key

3.wx.clearStorage()

  清理本地数据缓存

4.wx.clearStorageSync()

  清理本地数据缓存