我们知道,在HTML5中,新加入了localStorage本地存储功能,解决了cookie空间不足的问题(存储空间为4k),localStorage一般则支持5M的存储空间(不同浏览器中会有些不同)。微信小程序中也有本地存储的功能(最大为10MB),可以用来恢复小程序上次打开的状态,可以存储一些非实时数据用来加快页面渲染,减少用户等待时间。
微信小程序中的数据有效期和localStorage相似:永不过期,除非用户主动删除或设置超过一定时间被自动清理,否则数据都一直可用。他们之间的存储也有一点不同:localStorage会把数据转化为字符串类型再存储,小程序则可以以任意类型存储,不会进行类型转换。
在HTML5中,用 localStorage.setItem("key", "value") 将value存储到key字段,用 localStorage.getItem("key") 获取指定key本地存储的值,用localStorage.removeItem("key") 删除指定key本地存储的值。小程序中存储相对应的API:
存储数据:
异步:wx.setStorage
同步:wx.setStorageSync
wx:setStorageSync("cates", { time: Date.now() })
获取数据:
异步:wx.getStorage
同步:wx.getStorageSync
wx.getStorageSync("cates");
移除数据:
异步:wx.removeStorage
同步:wx.removeStorageSync
wx.removeStorageSync("cates");
清除所有数据:
异步:wx.clearStorage
同步:wx.clearStorageSync
//清除所有数据不要参数
wx.clearStorageSync()
注:
小程序中,不能直接修改本地存储的内容,需要通过相同的key值再设置一次,以覆盖本地原有的值。