storage是持久而非永久
数据存储生命周期跟小程序本身一致,即除用户主动删除或超过一定时间被自动清理,否则数据都一直可用。单个 key 允许存储的最大数据长度为 1MB,所有数据存储上限为10MB。例如,当用户将小程序从微信中删除后,存储在storage中的数据随之清除。
storage 以用户维度隔离。
同一台设备上,A 用户无法读取到B 用户的数据。 举个例子,用户A和用户B在同一个设备上存储了名为name的数据用来记录用户的姓名。
// getUserName用来模拟获取用户的name,我们假设user A 的name是 A,user B 的name是 B。
let userName = getUserName();
wx.setStorageSync('name', userName);
console.log(name);
复制代码
那么,当user A 访问小程序的时候,得到的结果是 'A',用户B访问的时候,结果是 B。用户之间的存储空间是独立的,互不影响的。这一点可以用来方便地用来统计小程序的UV。
用户换设备后,storage中的数据丢失
由于storage是存储在本地的,更换设备后,本地数据自然也就丢失了,因此一些关键信息的存储不要依赖本地storage。