轻量级存储
轻量级数据库为应用提供key-value键值型的文件数据处理能力,支持应用对数据进行轻量级存储及查询。数据存储形式为键值对,键的类型为字符串型,值的存储数据类型包括数字型、字符型、布尔型。
导入模块
import data_storage from '@ohos.data.storage';
权限
无
属性
方法
getStorageSync(path: string)
读取指定文件,将数据加载到Storage实例,用于数据操作。
此方法为同步方法。
参数:
返回值:
示例:
const PATH = '/data/accounts/account_0/appdata/com.example.myapplication/database/{storage_name}';
let store = data_storage.getStorageSync(PATH);
getStorage(path: string, callback: AsyncCallback<Storage>)
读取指定文件,将数据加载到Storage实例,用于数据操作。
此方法为异步方法。
参数:
AsyncCallback<Storage> |
返回值:
示例:
data_storage.getStorage(PATH, function(err, data) {
strore = data;
});
getStorage(path: string)
读取指定文件,将数据加载到Storage实例,用于数据操作。
此方法为异步方法。
参数:
返回值:
示例:
const promise = data_storage.getStorage(PATH);
promise.then((data) => {
data.clearSync();
}).catch((err) => {
});
deleteStorageSync(path: string)
从内存中移除指定文件对应的Storage单实例,并删除指定文件及其备份文件、损坏文件。删除指定文件时,应用不允许再使用该实例进行数据操作,否则会出现数据一致性问题。
此方法为同步方法。
参数:
返回值:
示例:
const PATH = '/data/accounts/account_0/appdata/com.example.myapplication/database/{storage_name}';
data_storage.deleteStorageSync(PATH);
deleteStorage(path: string, callback: AsyncCallback<Storage>)
从内存中移除指定文件对应的Storage单实例,并删除指定文件及其备份文件、损坏文件。删除指定文件时,应用不允许再使用该实例进行数据操作,否则会出现数据一致性问题。
此方法为异步方法。
参数:
AsyncCallback<Storage> |
返回值:
示例:
data_storage.deleteStorage(PATH, function(err, data) {
});
deleteStorage(path: string)
从内存中移除指定文件对应的Storage单实例,并删除指定文件及其备份文件、损坏文件。删除指定文件时,应用不允许再使用该实例进行数据操作,否则会出现数据一致性问题。
此方法为异步方法。
参数:
返回值:
示例:
const promise = data_storage.deleteStorage(PATH);
promise.then((data) => {
}).catch((err) => {
});
removeStorageFromCacheSync(path: string)
从内存中移除指定文件对应的Storage单实例。移除Storage单实例时,应用不允许再使用该实例进行数据操作,否则会出现数据一致性问题。
此方法为同步方法。
参数:
返回值:
示例:
const PATH = '/data/accounts/account_0/appdata/com.example.myapplication/database/{storage_name}';
data_storage.removeStorageFromCacheSync(PATH);
removeStorageFromCache(path: string, callback: AsyncCallback<Storage>)
从内存中移除指定文件对应的Storage单实例。移除Storage单实例时,应用不允许再使用该实例进行数据操作,否则会出现数据一致性问题。
此方法为异步方法。
参数:
AsyncCallback<Storage> |
返回值:
示例:
data_storage.removeStorageFromCache(PATH, function(err, data) {
});
removeStorageFromCache(path: string)
从内存中移除指定文件对应的Storage单实例。移除Storage单实例时,应用不允许再使用该实例进行数据操作,否则会出现数据一致性问题。
此方法为异步方法。
参数:
返回值:
示例:
const promise = data_storage.removeStorageFromCache(PATH);
promise.then((data) => {
}).catch((err) => {
});
附录
Storage
提供获取和修改存储数据的接口。
方法
getSync(key: string, defValue: ValueType)
获取键对应的值,如果值为null或者非默认值类型,返默认数据
此方法为同步方法。
参数:
返回值:
示例:
let ret = store.getSync(key, ‘defValue’);
get(key: string, defValue: ValueType, callback: AsyncCallback<ValueType>)
获取键对应的值,如果值为null或者非默认值类型,返默认数据。
此方法为异步方法。
参数:
返回值:
示例:
store.get(key, 'test', function(err, data) {
console.info(data);
});
get(key: string, defValue: ValueType)
获取键对应的值,如果值为null或者非默认值类型,返默认数据。
此方法为异步方法。
参数:
返回值:
示例:
const promise = store.get(key, 'test');
promise.then((data) => {
console.info(data);
}).catch((err) => {
});
putSync(key: string, value: ValueType)
首先获取指定文件对应的Storage实例,然后借助Storage API将数据写入Storage实例,通过flush或者flushSync将Storage实例持久化。
此方法为同步方法。
参数:
返回值:
示例:
let data = store.putSync(key, ‘defValue’);
put(key: string, value: ValueType, callback: AsyncCallback<void>)
首先获取指定文件对应的Storage实例,然后借助Storage API将数据写入Storage实例,通过flush或者flushSync将Storage实例持久化。
此方法为异步方法。
参数:
返回值:
示例:
store.put(key, 'test', function(err, data) {
});
put(key: string, value: ValueType)
首先获取指定文件对应的Storage实例,然后借助Storage API将数据写入Storage实例,通过flush或者flushSync将Storage实例持久化。
此方法为异步方法。
参数:
返回值:
示例:
const promise = store.put(key, 'test');
promise.then((data) => {
}).catch((err) => {
});
hasSync(key: string)
检查存储对象是否包含名为给定key的存储。
此方法为同步方法。
参数:
返回值:
示例:
let ret = store.hasSync(key);
has(key: string, callback: AsyncCallback<boolean>)
检查存储对象是否包含名为给定key的存储。
此方法为异步方法。
参数:
返回值:
示例:
store.has(key, function(err, data) {
console.info(data);
});
has(key: string)
检查存储对象是否包含名为给定key的存储。
此方法为异步方法。
参数:
返回值:
示例:
const promise = store.has(key);
promise.then((data) => {
console.info(data);
}).catch((err) => {
});
deleteSync(key: string)
从此对象中删除名为给定key的存储。
此方法为同步方法。
参数:
返回值:
示例:
store.deleteSync(key);
delete(key: string, callback: AsyncCallback<void>)
从此对象中删除名为给定key的存储。
此方法为异步方法。
参数:
返回值:
示例:
store.delete(key, function(err, data) {
});
delete(key: string)
从此对象中删除名为给定key的存储。
此方法为异步方法。
参数:
返回值:
示例:
const promise = store.delete(key);
promise.then((data) => {
}).catch((err) => {
});
flushSync()
将当前storage对象中的修改保存到当前的storage,并同步存储到文件中。
此方法为同步方法。
参数:
返回值:
示例:
store.flushSync();
flush(callback: AsyncCallback<void>)
将当前storage对象中的修改保存到当前的storage,并异步存储到文件中。
此方法为异步方法。
参数:
返回值:
示例:
store.flush(function(err, data) {
});
flush()
将当前storage对象中的修改保存到当前的storage,并异步存储到文件中。
此方法为异步方法。
参数:
返回值:
示例:
const promise = store.flush();
promise.then((data) => {
}).catch((err) => {
});
clearSync()
清除此存储对象中的所有存储。
此方法为同步方法。
参数:
返回值:
示例:
store.clearSync();
clear(callback: AsyncCallback<void>)
清除此存储对象中的所有存储。
此方法为异步方法。
参数:
返回值:
示例:
store.clear(function(err, data) {
});
clear()
清除此存储对象中的所有存储。
此方法为异步方法。
参数:
返回值:
示例:
const promise = store.clear();
promise.then((data) => {
}).catch((err) => {
});
on(type: 'change', callback: Callback<StorageObserver>)
监听者类需要实现StorageObserver接口,当数据发生改变时,监听者的 StorageObserver#onChange会被回调。
示例:
var observer = function (data) {
console.info(data);
};
store.on('change', observer);
off(type: 'change', callback: Callback<StorageObserver>)
监听者类需要实现StorageObserver接口,当不再进行数据监听时,使用此接口取消监听。
示例:
var observer = function (data) {
console.info(data);
};
store.off('change', observer);
事件
change
表 1 回调函数的参数说明(可选,如不涉及可删除)