为了更好地理解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()
同步清理本地数据缓存。
2982

被折叠的 条评论
为什么被折叠?



