⑴ 微信小程序怎么进行数据缓存
每个微信小程序都可以有自己的本地缓存,可以通过 wx.setStorag(wx.setStorageSync)、wx.getStorage(wx.getStorageSync)、wx.clearStorage(wx.clearStorageSync)可以对本地缓存进行设置、获取和清理。本地缓存最大为10MB。
注意:
localStorage 是永久存储的,但是我们不建议将关键信息全部存在 localStorage,以防用户换设备的情况。
wx.setStorage(OBJECT)将数据存储在本地缓存中指定的 key 中,会覆盖掉原来该 key 对应的内容,这是一个异步接口。
代码示例
wx.setStorage({ key:"key" data:"value" })1234
wx.setStorageSync(KEY,DATA)
将 data 存储在本地缓存中指定的 key 中,会覆盖掉原来该 key 对应的内容,这是一个同步接口。
try { wx.setStorageSync('key', 'value') } catch (e) { }1234
wx.getStorageInfo(OBJECT)
异步获取当前storage的相关信息
wx.getStorageInfo({ success: function(res) { console.log(res.keys) console.log(res.currentSize) console.log(res.limitSize) } })1234567
wx.getStorageInfoSync
同步获取当前storage的相关信息
try { var res = wx.getStorageInfoSync() console.log(res.keys) console.log(res.currentSize) console.log(res.limitSize) } catch (e) { // Do something when catch error }12345678
wx.removeStorage(OBJECT)
从本地缓存中异步移除指定 key 。
wx.removeStorage({ key: 'key', success: function(res) { console.log(res.data) } })123456
wx.removeStorageSync(KEY)
从本地缓存中同步移除指定 key 。 try { wx.removeStorageSync('key') } catch (e) { // Do something when catch error }123456
wx.clearStorage()
清理本地数据缓存。
wx.clearStorage()1
wx.clearStorageSync()
同步清理本地数据缓存
try { wx.clearStorageSync() } catch(e) { // Do something when catch error }
⑵ 微信8.0.28版本小程序缓存丢失
微信8.0.28版本小程序缓存丢失原因为:
1、一个星期没有使用小程序,缓存数据会被清掉。
2、手机没电关机后,再开机小程序的缓存数据会被清掉。
3、使用了清理工作,缓存数据会被清掉。
⑶ 小程序之缓存
每个微信小程序都可以有自己的本地缓存,可以通过 wx.setStorage(wx.setStorageSync)、wx.getStorage(wx.getStorageSync)、wx.clearStorage(wx.clearStorageSync)可以对本地缓存进行设置、获取和清理。同一个微信用户,同一个小程序 storage 上限为 10MB。localStorage 以用户维度隔离,同一台设备上,A 用户无法读取到 B 用户的数据。
1.设置缓存
2.获取缓存
3.清除缓存
⑷ 微信小程序如何清理缓存
1.打开手机管家,进入主页面,点击“清理加速”项目,开始清理。若手机自带软件中无手机管家,则需要自己在手机上下载手机管家App
2.打开手机管家选择清理加速项目后,可以看到在里面有一个手机瘦身功能,点击“手机瘦身”,进入新页面。
3.点击“手机瘦身”后出现一个新界面,你就可以看到有一个专门的微信清理的功能,点击“微信清理”,进入下一个页面。
4.此微信清理功能可以自动检测微信小程序运行产生的缓存,点击一键清理,即可自动清理微信小程序缓存。
⑸ 微信小程序怎么进行数据缓存
在微信小程序中,数据缓存其实就和localstorage 的原理差不多,所以理解起来并不难。下面我们来一起实现一下。
效果图展示:
我们在index页面存入数字11,然后在跳转到新页面,在将缓存中的11取出渲染到当前页面。具体代码如下:
index页面:
<span style="font-size:24px;">
<view class="btn-area">
<navigator url="../navigator/navigator?title=我是navi">跳转到新的页面post情求</navigator>
<navigator url="../redirect/redirect?title=我是red" redirect>跳转到当前页面</navigator>
</view>
</span>
<view>
<input style="border:2rpx solid red" placeholder="输入信息" bindinput="getInput" />
<button style="border:2rpx solid yellow" bindtap="saveInput">存入</button>
</view>1234567891012345678910
index的js:
//index.js
//获取应用实例
var app = getApp()
Page({
data: {
storage:''
},
onLoad: function () {
var that = this
//获取输入值
getInput:function(e){
this.setData({
storage:e.detail.value
})
},
//存储输入值
saveInput:function(){
wx.setStorageSync('storage', this.data.storage)
}
})
2223
跳转页面:
<view>从存储中得到的数据:{{storage}}</view>11
跳转页面的js:
var app = getApp();
var that;
Page( {
data: {
storage:''
},
onLoad: function(options) {
that = this;
//获取存储信息
wx.getStorage({
key: 'storage',
success: function(res){
// success
that.setData({
storage:res.data
})
}
})
}
})
⑹ 微信小程序如何清理缓存数据
以携程的微信小程序为例,清除步骤如下:
1.首先,进入微信界面,然后单击展开最近使用的小程序,选择其中一个;
⑺ 缓存问题之异步处理(微信小程序)
微信小程序里面的本地缓存
wx.setStorage(wx.setStorageSync)、wx.getStorage(wx.getStorageSync)、wx.clearStorage(wx.clearStorageSync)
localStorage :是永久存储,以用户维度隔离,同一台设备上,A 用户无法读取到 B 用户的数据。
在小程序中无 Sync 结尾的本地缓存中,都为 异步缓存
wx.setStorage(object)
参数object说明
控制台
表示储存成功
wx.getStorage(object)
示例
这个key值就是先前setStorage的命名key,证明指定获取那个缓存中的数据
wx.clearStorage(object)
清理本地数据缓存
将之前储存在Storage中的数据清空。适用于退出登录后登录信息的清除
wx.getStorageInfo(object)
异步获取当前storage的相关信息( 当前小程序里面所有的storage的储存信息 )
参数说明
执行结果
wx.removeStorage(OBJECT)
从本地缓存中异步移除指定 key值
获取当前data值时将报错undefined
执行结果
⑻ 微信小程序入门(七):缓存数据-单条数据
微信小程序的编写中,涉及到有些业务场景需要将数据缓存到本地,则微信小程序api提供了两个接口函数,
wx.setStorage可以将数据缓存在本地指定的key中,如果本地缓存已经存在指定的key,则会覆盖该key对应的内容,这是一个异步的接口,在调用时会涉及到成功,失败,完成三个状态,
与wx.setStorage唯一不同的就是wx.setStorageSync是同步进行的,所以不会涉及到成功,失败,完成等回调,但是在使用时需要使用try.......catch....来捕获异常;
现在编写一个将字符串缓存本地的例子
编译项目,点击缓存按钮:
现在改变缓存的内容,但是缓存的key保持不变
可以看到第二次的内容把第一次覆盖了。
将内容缓存到本地之后,将其从本地提取展示出来,则可是使用微信小程序api提供的两个接口:wx.getStorageInfo(Object object),wx.getStorageSync(string key),与缓存同样,读取缓存也分同步和异步;
我们将刚刚存储到本地的数据展示到页面上:
编译项目,点击按钮获取缓存数据并将其展示到页面上。
完成了本地数据的缓存,获取,则接下来就是关于缓存数据的清除,同样微信小程序api也提供了可使用的接口,
至此微信小程序本地保存数据就此结束!
⑼ 微信小程序开发——本地缓存
本地缓存是指微信小程序存储在当前设备空间里地数据。在官方文档说明中,其所有的数据存储上限为10MB即单个小程序的存储空间上限为10MB。==在使用过程中用户使用本地缓存可以存储一些非重要性的生产操作,例如让小程序再次打开能快速渲染页面,减少用户等待时间。
小程序提供了读写删本地缓存的方法:
关于同步缓存和异步缓存的区别
异步与同步的区别是,异步不会阻塞当前任务,同步缓存直到同步方法处理完才能继续往下执行。
写入本地缓存
根据key读取本地缓存
根据key移除本地缓存
清除本地所有缓存
最后,还要注意的一点是如果写入了同样key的缓存数据,后写的会覆盖了前者,因此需要我们注意一下