# 数据缓存

# uni.setStorage(OBJECT)

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

OBJECT 参数说明

参数名 类型 必填 说明
key String 本地缓存中的指定的 key
data Any 需要存储的内容,只支持原生类型、及能够通过 JSON.stringify 序列化的对象
success Function 接口调用成功的回调函数
fail Function 接口调用失败的回调函数
complete Function 接口调用结束的回调函数(调用成功、失败都会执行)

代码示例

uni.setStorage({
	key: 'storage_key',
	data: 'hello',
	success: function () {
		console.log('success');
	}
});
1
2
3
4
5
6
7

注意

uni-uni_dcloud-dcloud_为前缀的key,为系统保留关键前缀。如uni_deviceIduni_id_token,请开发者为key命名时避开这些前缀。

# uni.setStorageSync(KEY,DATA)

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

参数说明

参数名 类型 必填 说明
key String 本地缓存中的指定的 key
data Any 需要存储的内容,只支持原生类型、及能够通过 JSON.stringify 序列化的对象

代码示例

try {
	uni.setStorageSync('storage_key', 'hello');
} catch (e) {
	// error
}
1
2
3
4
5

# uni.getStorage(OBJECT)

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

OBJECT 参数说明

参数名 类型 必填 说明
key String 本地缓存中的指定的 key
success Function 接口调用的回调函数,res = {data: key对应的内容}
fail Function 接口调用失败的回调函数
complete Function 接口调用结束的回调函数(调用成功、失败都会执行)

代码示例

uni.getStorage({
	key: 'storage_key',
	success: function (res) {
		console.log(res.data);
	}
});
1
2
3
4
5
6

# uni.getStorageSync(KEY)

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

参数说明

参数名 类型 必填 说明
key String 本地缓存中的指定的 key

代码示例

try {
	const value = uni.getStorageSync('storage_key');
	if (value) {
		console.log(value);
	}
} catch (e) {
	// error
}
1
2
3
4
5
6
7
8

# uni.getStorageInfo(OBJECT)

异步获取当前 storage 的相关信息。

OBJECT 参数说明

参数名 类型 必填 说明
success Function 接口调用的回调函数,详见返回参数说明
fail Function 接口调用失败的回调函数
complete Function 接口调用结束的回调函数(调用成功、失败都会执行)

success 返回参数说明

参数名 类型 说明
keys Array<String> 当前 storage 中所有的 key
currentSize Number 当前占用的空间大小, 单位:kb
limitSize Number 限制的空间大小, 单位:kb

代码示例

uni.getStorageInfo({
	success: function (res) {
		console.log(res.keys);
		console.log(res.currentSize);
		console.log(res.limitSize);
	}
});
1
2
3
4
5
6
7

# uni.getStorageInfoSync()

同步获取当前 storage 的相关信息。

代码示例

try {
	const res = uni.getStorageInfoSync();
	console.log(res.keys);
	console.log(res.currentSize);
	console.log(res.limitSize);
} catch (e) {
	// error
}
1
2
3
4
5
6
7
8

# uni.removeStorage(OBJECT)

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

OBJECT 参数说明

参数名 类型 必填 说明
key String 本地缓存中的指定的 key
success Function 接口调用的回调函数
fail Function 接口调用失败的回调函数
complete Function 接口调用结束的回调函数(调用成功、失败都会执行)

代码示例

uni.removeStorage({
	key: 'storage_key',
	success: function (res) {
		console.log('success');
	}
});
1
2
3
4
5
6

# uni.removeStorageSync(KEY)

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

参数说明

参数名 类型 必填 说明
key String 本地缓存中的指定的 key

代码示例

try {
	uni.removeStorageSync('storage_key');
} catch (e) {
	// error
}
1
2
3
4
5

# uni.clearStorage()

清理本地数据缓存。

代码示例

uni.clearStorage();
1

# uni.clearStorageSync()

同步清理本地数据缓存。

代码示例

try {
	uni.clearStorageSync();
} catch (e) {
	// error
}
1
2
3
4
5