微信小程序——数据存储

微信小程序数据存储

参考微信官方文档:
https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.setStorageSync.html
小程序的使用场景

微信小程序在获取用户授权后,获取用户的昵称和头像且会从数据库查询两个值显示到首页页面。(token,code)已经取得授权的情况下刷新,可以不弹框直接获取昵称和头像。此时也需要将数据库中的值显示到首页页面。显然,再次向后台发出请求,获取数据库中的值是无法实现的。因为在页面显示的变量名是固定的,两次请求返回的值赋给同一个变量无法实现,且网络请求的先后顺序也不能确定。【此种情况,就需要将首次查询(点击授权按钮)的值存入到本地缓存中】当再次刷新时,将缓存中的值显示到页面上。


HTML5出现之前,缓存一般都是用cookie,但是cookie的存储空间太小。于是,HTML以后又5增加了新的缓存机制,即localStorage 和 sessionStorage,具体的介绍就不在多说。在微信小程序中,数据缓存其实就和localstorage 的原理差不多,所以理解起来并不难。

wx.setStorageSync(string key, any data) 【wx.setStorage 的同步版本】
示例代码
wx.setStorage({
  key:"key",
  data:"value"
})



try {
  wx.setStorageSync('key', 'value')
} catch (e) { }
		参数:
		  key : 本地缓存中指定的(string)
		  
		  data: 需要存储的内容。只支持原生类型、Date、及能够通过JSON.stringify序列化的对象。
wx.setStorage(Object object)
	将数据存储在本地缓存中指定的 key 中。会覆盖掉原来该 key 对应的内容。除非用户主动删除或因
	存储空间原因被系统清理,否则数据都一直可用。单个 key 允许存储的最大数据长度为 1MB,
	所有数据存储上限为 10MB。
示例代码
wx.setStorage({
  key:"key",
  data:"value"
})



try {
  wx.setStorageSync('key', 'value')
} catch (e) { }
参数
属性类型默认值必填说明
keystring本地缓存中指定的 key
dataany需要存储的内容。只支持原生类型、Date、及能够通过JSON.stringify序列化的对象。
successfunction接口调用成功的回调函数
failfunction接口调用失败的回调函数
completefunction接口调用结束的回调函数(调用成功、失败都会执行)
wx.removeStorageSync(string key) 【wx.removeStorage 的同步版本】
示例代码
wx.removeStorage({
  key: 'key',
  success (res) {
    console.log(res)
  }
})



try {
  wx.removeStorageSync('key')
} catch (e) {
  // Do something when catch error
}
参数:
	key :本地缓存中指定的 key(string )
wx.removeStorage(Object object) 【从本地缓存中移除指定 key】
代码示例
wx.removeStorage({
  key: 'key',
  success (res) {
    console.log(res)
  }
})



try {
  wx.removeStorageSync('key')
} catch (e) {
  // Do something when catch error
}
参数:
属性类型默认值必填说明
keystring本地缓存中指定的 key
successfunction接口调用成功的回调函数
failfunction接口调用失败的回调函数
completefunction接口调用结束的回调函数(调用成功、失败都会执行)
any wx.getStorageSync(string key) 【wx.getStorage 的同步版本】
代码示例
wx.getStorage({
  key: 'key',
  success (res) {
    console.log(res.data)
  }
})


try {
  var value = wx.getStorageSync('key')
  if (value) {
    // Do something with return value
  }
} catch (e) {
  // Do something when catch error
}

参数:key:本地缓存中指定的 key(string)

			返回值
	  data:  key对应的内容
Object wx.getStorageInfoSync() 【wx.getStorageInfo 的同步版本】
代码示例
	参数 -------  返回值
wx.getStorageInfo({
  success (res) {
    console.log(res.keys)
    console.log(res.currentSize)
    console.log(res.limitSize)
  }
})


try {
  const res = wx.getStorageInfoSync()
  console.log(res.keys)
  console.log(res.currentSize)
  console.log(res.limitSize)
} catch (e) {
  // Do something when catch error
}
属性类型说明
keysArray.当前 storage 中所有的 key
currentSizenumber当前占用的空间大小, 单位 KB
limitSizenumber限制的空间大小,单位 KB
wx.getStorageInfo(Object object) 【异步获取当前storage的相关信息】
代码示例
wx.getStorageInfo({
  success (res) {
    console.log(res.keys)
    console.log(res.currentSize)
    console.log(res.limitSize)
  }
})
try {
  const res = wx.getStorageInfoSync()
  console.log(res.keys)
  console.log(res.currentSize)
  console.log(res.limitSize)
} catch (e) {
  // Do something when catch error
}
参数
属性类型默认值必填说明
successfunction接口调用成功的回调函数
failfunction接口调用失败的回调函数
completefunction接口调用结束的回调函数(调用成功、失败都会执行)
object.success 回调函数
参数

|Object object

属性类型说明
keysArray.当前 storage 中所有的 key
currentSizenumber当前占用的空间大小, 单位 KB
limitSizenumber限制的空间大小,单位 KB
wx.getStorage(Object object) 【从本地缓存中异步获取指定 key 的内容】
代码示例
wx.getStorage({
  key: 'key',
  success (res) {
    console.log(res.data)
  }
})


try {
  var value = wx.getStorageSync('key')
  if (value) {
    // Do something with return value
  }
} catch (e) {
  // Do something when catch error
}
 参数	Object object
属性类型默认值必填说明
keystring本地缓存中指定的 key
successfunction接口调用成功的回调函数
failfunction接口调用失败的回调函数
completefunction接口调用结束的回调函数(调用成功、失败都会执行)
	参数Object res
属性类型说明
dataanykey对应的内容

####### wx.clearStorageSync() 【wx.clearStorage 的同步版本】

代码示例
wx.clearStorage()
try {
  wx.clearStorageSync()
} catch(e) {
  // Do something when catch error
}
wx.clearStorage(Object object) 【清理本地数据缓存】
示例代码
wx.clearStorage()
try {
  wx.clearStorageSync()
} catch(e) {
  // Do something when catch error
}


参数     Object object
属性类型默认值必填说明
successfunction接口调用成功的回调函数
failfunction接口调用失败的回调函数
completefunction接口调用结束的回调函数(调用成功、失败都会执行)
  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值