探讨uniapp的数据缓存问题

异步就是不管保没保存成功,程序都会继续往下执行。同步是等保存成功了,才会执行下面的代码。使用异步,性能会更好;而使用同步,数据会更安全。

1 uni.setStorage(OBJECT)

将数据存储在本地缓存中指定的 key 中,会覆盖掉原来该 key 对应的内容,这是一个异步接口。

java 复制代码
	saveUserName2Storage() {
		uni.setStorage({
			key: 'userName',
			data: 'zhaoshuai-lc',
			success: e => {
			}
		});
	}

2 uni.setStorageSync(KEY,DATA)

将 data 存储在本地缓存中指定的 key 中,会覆盖掉原来该 key 对应的内容,这是一个同步接口。

java 复制代码
	saveUserName2Storage() {
		uni.setStorageSync('userName', 'zhaoshuai-lc');
	}

3 uni.getStorage(OBJECT)

从本地缓存中异步获取指定 key 对应的内容。

java 复制代码
	saveUserName2Storage() {
		uni.getStorage({
			key: 'storage_key',
			success: function (res) {
				console.log(res.data);
			}
		});
	}

4 uni.getStorageSync(KEY)

从本地缓存中同步获取指定 key 对应的内容。

java 复制代码
	saveUserName2Storage() {
		const value = uni.getStorageSync('storage_key');
	}

5 uni.removeStorage(OBJECT)

从本地缓存中异步移除指定 key。

java 复制代码
uni.removeStorage({
	key: 'storage_key',
	success: function (res) {
		console.log('success');
	}
});

6 uni.removeStorageSync(KEY)

从本地缓存中同步移除指定 key。

java 复制代码
try {
	uni.removeStorageSync('storage_key');
} catch (e) {
	// error
}

7 uni.clearStorage()

清理本地数据缓存。

java 复制代码
uni.clearStorage();

8 uni.clearStorageSync()

同步清理本地数据缓存。

java 复制代码
try {
	uni.clearStorageSync();
} catch (e) {
	// error
}

uni-app的Storage在不同端的实现不同:

  • H5端为localStorage,浏览器限制5M大小,是缓存概念,可能会被清理
  • App端为原生的plus.storage,无大小限制,不是缓存,是持久化的
  • 各个小程序端为其自带的storage
    api,数据存储生命周期跟小程序本身一致,即除用户主动删除或超过一定时间被自动清理,否则数据都一直可用。
  • 微信小程序单个 key 允许存储的最大数据长度为 1MB,所有数据存储上限为 10MB。
相关推荐
接着奏乐接着舞。7 小时前
【2026】73道Redis 常见面试题与参考答案
数据库·redis·后端·缓存
Seraphina3615 小时前
记一次实验:利用缓存服务器规范化技术进行网页缓存欺骗
经验分享·笔记·网络安全·缓存
2501_9160074715 小时前
Flutter与游戏App加固避坑指南:如何为混合开发与高交互应用选对安全方案?
安全·flutter·游戏·ios·小程序·uni-app·iphone
PedroQue9916 小时前
@meng-xi/create-uni-app v1.0.0 正式发布
前端·uni-app
肥仔哥哥193016 小时前
uniapp开发App一键登录:从技术选型到前后端落地实战--2秒登录,流失率减半:在uniapp里接入一键登录的全过程
uni-app·一键登录设计选型
JackieDYH18 小时前
uniapp-幸运抽奖转盘组件-案例
uni-app
ModyQyW1 天前
vite-plugin-uni-manifest 更新了什么
前端·typescript·uni-app
PedroQue992 天前
v2.7.1:修复 H5 端返回死循环闪烁问题
前端·uni-app
lhldsg2 天前
AI零售系统实战指南:从架构设计到落地部署全解析
java·人工智能·小程序·uni-app·零售
草莓熊Lotso2 天前
【Redis 初阶】Set 类型深度解析:去重集合的运算能力与实战场景
linux·网络·数据库·windows·redis·tcp/ip·缓存