分布式数据管理
HarmonyOS分布式数据管理详解:分布式数据库、分布式文件。
1. 分布式数据库
import distributedKVStore from '@ohos.data.distributedKVStore';
// 创建 KV 管理
const kvManager = distributedKVStore.createKVManager({
bundleName: 'com.example.app',
});
// 创建 KV 数据库
const kvStore = await kvManager.getKVStore('storeId', {
securityLevel: distributedKVStore.SecurityLevel.S1,
});
// 写入数据
await kvStore.put('key1', 'value1');
// 读取数据
const value = await kvStore.get('key1');
// 订阅数据变更
kvStore.on('dataChange', distributedKVStore.SubscribeType.SUBSCRIBE_TYPE_ALL, (data) => {
console.log('Data changed:', data);
});
2. 分布式文件
import fileIO from '@ohos.file.fs';
// 获取分布式文件路径
const context = getContext(this);
const dir = context.distributedFilesDir;
// 写入文件
const file = fileIO.openSync(
dir + '/shared.txt',
fileIO.OpenMode.READ_WRITE | fileIO.OpenMode.CREATE
);
fileIO.writeSync(file.fd, 'Hello from device A');
fileIO.closeSync(file);
3. 数据同步
- 自动同步:同一账号下的设备自动同步
- 手动同步:
kvStore.sync() - 冲突解决:Last Write Wins(默认)