-
- uni.setStorage 缓存 异步 覆盖 原来key对应的内容
- uni.setStorageSync 缓存 同步 覆盖 原来key对应的内容
- uni.getStorage 获取 异步 原来key对应的内容
- uni.getStorageSync 获取 同步 原来key对应的内容
- uni.removeStorage 移除 异步 缓存内容
uni.removeStorageSync 移除 异步 缓存内容
[uni.clearStorage()](https://uniapp.dcloud.io/api/storage/storage?id=clearstorage) 清理本地数据缓存。<br /> [uni.clearStorageSync()](https://uniapp.dcloud.io/api/storage/storage?id=clearstoragesync) 同步 清理本地数据缓存。
数据缓存
有些数据我们只是想存在本地,而不是存在数据库,所以就需要数据缓存。
在这里只介绍三组用法。
uni.setStorage
将数据存储在本地缓存中指定的 key 中,会覆盖掉原来该 key 对应的内容,这是一个异步接口
查看效果
小程序 同样可以看到效果
uni.setStorageSync
将 data 存储在本地缓存中指定的 key 中,会覆盖掉原来该 key 对应的内容,这是一个同步接口。
uni.getStorage
从本地缓存中异步获取指定 key 对应的内容。
打印显示 100
uni.getStorageSync
从本地缓存中同步获取指定 key 对应的内容。
uni.removeStorage
从本地缓存中异步移除指定 key。
uni.removeStorageSync
从本地缓存中同步移除指定 key。
uni.clearStorage()
清理本地数据缓存。
uni.clearStorageSync()
同步清理本地数据缓存。
注意
uni-app的Storage在不同端的实现不同:
- H5端为localStorage,浏览器限制5M大小,是缓存概念,可能会被清理
- App端为原生的plus.storage,无大小限制,不是缓存,是持久化的
- 各个小程序端为其自带的storage api,数据存储生命周期跟小程序本身一致,即除用户主动删除或超过一定时间被自动清理,否则数据都一直可用。
- 微信小程序单个 key 允许存储的最大数据长度为 1MB,所有数据存储上限为 10MB。
- 支付宝小程序单条数据转换成字符串后,字符串长度最大200*1024。同一个支付宝用户,同一个小程序缓存总上限为10MB。
- 百度、字节跳动小程序文档未说明大小限制
- 非App平台清空Storage会导致uni.getSystemInfo获取到的deviceId改变
除此之外,其他数据存储方案: