Ⅰ 微信小程序怎么进行数据缓存
每个微信小程序都可以有自己的本地缓存,可以通过 wx.setStorage(wx.setStorageSync)、wx.getStorage(wx.getStorageSync)、wx.clearStorage(wx.clearStorageSync)可以对本地缓存进行设置、获取和清理。本地缓存最大为10MB。
注意: localStorage 是永久存储的,但是我们不建议将关键信息全部存在 localStorage,以防用户换设备的情况。
wx.setStorage(OBJECT)
将数据存储在本地缓存中指定的 key 中,会覆盖掉原来该 key 对应的内容,这是一个异步接口。
OBJECT参数说明:
示例代码
?
1234
wx.setStorage({ key:"key" data:"value"})
wx.setStorageSync(KEY,DATA)
将 data 存储在本地缓存中指定的 key 中,会覆盖掉原来该 key 对应的内容,这是一个同步接口。
OBJECT参数说明:
示例代码
?
1234
try { wx.setStorageSync('key', 'value')} catch (e) { }
wx.getStorage(OBJECT)
从本地缓存中异步获取指定 key 对应的内容。
OBJECT参数说明:
示例代码:
?
123456
wx.getStorage({ key: 'key', success: function(res) { console.log(res.data) } })
wx.getStorageSync(KEY)
从本地缓存中同步获取指定 key 对应的内容。
参数说明:
示例代码:
?
12345678
try { var value = wx.getStorageSync('key') if (value) { // Do something with return value }} catch (e) { // Do something when catch error}
wx.getStorageInfo(OBJECT)
异步获取当前storage的相关信息
OBJECT参数说明:
success返回参数说明:
示例代码:
?
1234567
wx.getStorageInfo({ success: function(res) { console.log(res.keys) console.log(res.currentSize) console.log(res.limitSize) }})
wx.getStorageInfoSync
同步获取当前storage的相关信息
示例代码:
?
12345678
try { var res = wx.getStorageInfoSync() console.log(res.keys) console.log(res.currentSize) console.log(res.limitSize)} catch (e) { // Do something when catch error}
wx.removeStorage(OBJECT)
从本地缓存中异步移除指定 key 。
OBJECT参数说明:
示例代码:
?
123456
wx.removeStorage({ key: 'key', success: function(res) { console.log(res.data) } })
wx.removeStorageSync(KEY)
从本地缓存中同步移除指定 key 。
参数说明:
示例代码:
?
12345
try { wx.removeStorageSync('key')} catch (e) { // Do something when catch error}
wx.clearStorage()
清理本地数据缓存。
示例代码:
?
1
wx.clearStorage()
wx.clearStorageSync()
同步清理本地数据缓存
示例代码:
?
12345
try { wx.clearStorageSync()} catch(e) { // Do something when catch error}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
Ⅱ 微信小程序入门(七):缓存数据-单条数据
微信小程序的编写中,涉及到有些业务场景需要将数据缓存到本地,则微信小程序api提供了两个接口函数,
wx.setStorage可以将数据缓存在本地指定的key中,如果本地缓存已经存在指定的key,则会覆盖该key对应的内容,这是一个异步的接口,在调用时会涉及到成功,失败,完成三个状态,
与wx.setStorage唯一不同的就是wx.setStorageSync是同步进行的,所以不会涉及到成功,失败,完成等回调,但是在使用时需要使用try.......catch....来捕获异常;
现在编写一个将字符串缓存本地的例子
编译项目,点击缓存按钮:
现在改变缓存的内容,但是缓存的key保持不变
可以看到第二次的内容把第一次覆盖了。
将内容缓存到本地之后,将其从本地提取展示出来,则可是使用微信小程序api提供的两个接口:wx.getStorageInfo(Object object),wx.getStorageSync(string key),与缓存同样,读取缓存也分同步和异步;
我们将刚刚存储到本地的数据展示到页面上:
编译项目,点击按钮获取缓存数据并将其展示到页面上。
完成了本地数据的缓存,获取,则接下来就是关于缓存数据的清除,同样微信小程序api也提供了可使用的接口,
至此微信小程序本地保存数据就此结束!
Ⅲ 微信小程序的全局变量跟数据缓存的区别,用什么比较好
缓存就是类似数据库,全局变量就是所有页面都能用,这是两个东西,比如说新闻应用,首页的数据需要放到缓存里,然后下次访问首页的时候直接加载缓存的数据,然后在异步调用接口刷新数据,这样在进入首页的时候就不需要loading了,直接能看到数据,感觉就是秒开,用户体验更好一些,全局变量就是类似用户登录信息,登录之后设置成全局的,每个页面都可以使用,不然跳转后就需要每次都重新获取用户信息
Ⅳ 微信小程序怎么进行数据缓存
//设置缓存
wx.setStorage({
key:"key",
data:"value"
})
//取缓存
wx.getStorage({
key: 'key',
success: function(res) {
console.log(res.data)//缓存数据
}
})