uniapp本地存储详解_uni

为了更好地理解uniapp本地存储,先简单介绍一下计算机的存储原理。计算机的存储系统通常由主存储器(RAM)和辅助存储器(硬盘、固态硬盘等)组成。

主存储器

主存储器是计算机中用于临时存储数据和指令的地方。它以字节为单位进行存储,每个字节都有一个唯一的地址。主存储器具有快速的读写速度,但容量有限。数据在主存储器中存储时,会被划分为连续的存储单元,可以通过地址访问。

辅助存储器

辅助存储器通常具有更大的容量,但访问速度相对较慢。常见的辅助存储器包括硬盘和固态硬盘。数据在辅助存储器中以块的形式存储。块是存储器中最小的可读写单位,通常具有固定的大小(如4KB)。当需要读取或写入数据时,计算机会按照块的粒度进行操作。

存储格式和字节对齐

数据在存储器中以二进制形式表示。不同的数据类型(如整数、浮点数、字符等)在存储器中占用的字节数不同。为了高效存储和访问数据,计算机要求数据按照字节对齐的方式存储。字节对齐指的是数据存储的起始地址必须是其数据类型大小的整数倍。

uniapp 本地存储

1. uni.setStorage(OBJECT)与uni.getStorage(OBJECT)
uni.setStorage(OBJECT)

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

示例代码

uni.setStorage({
	key: 'storage\_key',
	data: 'hello',
	success: function () {
		console.log('success');
	}
});

uni.getStorage(OBJECT)

从本地缓存中异步获取指定 key 对应的内容。
在这里插入图片描述

示例代码

uni.getStorage({
	key: 'storage\_key',
	success: function (res) {
		console.log(res.data);
	}
});

2. uni.setStorageSync与uni.getStorageSync
uni.setStorageSync(KEY,DATA)

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

try {
	uni.setStorageSync('storage\_key', 'hello');
} catch (e) {
	// error
}

uni.getStorageSync(KEY)

从本地缓存中同步获取指定 key 对应的内容。
在这里插入图片描述

示例代码

try {
	const value = uni.getStorageSync('storage\_key');
	if (value) {
		console.log(value);
	}
} catch (e) {
	// error
}

3. 获取存储信息uni.getStorageInfo与uni.getStorageInfoSync
uni.getStorageInfoSync()

同步获取当前 storage 的相关信息。
在这里插入图片描述

示例

try {
	const res = uni.getStorageInfoSync();
	console.log(res.keys);
	console.log(res.currentSize);
	console.log(res.limitSize);
} catch (e) {
	// error
} 

uni.getStorageInfo(OBJECT)

异步获取当前 storage 的相关信息
在这里插入图片描述

示例代码

uni.getStorageInfo({
	success: function (res) {
		console.log(res.keys);
		console.log(res.currentSize);
		console.log(res.limitSize);
	}
});

4. 移除 uni.removeStorage与uni.removeStorageSync
uni.removeStorage(OBJECT)

从本地缓存中异步移除指定 key。
在这里插入图片描述

代码示例

uni.removeStorage({
	key: 'storage\_key',
	success: function (res) {
		console.log('success');
	}
}); 

uni.removeStorageSync(KEY)

从本地缓存中同步移除指定 key。
在这里插入图片描述

示例代码

try {
	uni.removeStorageSync('storage\_key');
} catch (e) {
	// error
} 

uni.clearStorage()

清理本地数据缓存。

示例

uni.clearStorage();

uni.clearStorageSync()

同步清理本地数据缓存。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值