HarmonyOS NEXT鸿蒙开发:数据持久化-分布式键值数据库

介绍

官网指南

官网API

键值型数据库存储 键值对 形式的数据

应用场景

当需要存储的数据 没有复杂的关系模型,比如:

  • 存储商品名称、对应价格
  • 存储员工工号、今日是否已出勤

约束限制

  • 设备协同数据库,针对每条记录,Key的长度≤896 ByteValue的长度<4 MB

  • 单版本数据库,针对每条记录,Key的长度≤1 KBValue的长度<4 MB

  • 每个应用程序最多支持同时打开16个键值型分布式数据库。

  • 键值型数据库事件回调方法中不允许进行阻塞操作,例如修改UI组件。

开发步骤

  1. 创建 KVManager 管理器,用于管理数据库

  2. 通过 KVManager 创建数据库,本文创建 SingleKVStore 类型数据库

  3. 保存数据

  4. 根据key获取value

  5. 根据key删除数据

  6. 通过 KVManager 关闭数据库

导入模块

import { distributedKVStore } from '@kit.ArkData';

创建 KVManager 管理器

创建 KVManager 数据库管理器,用于管理数据库,如:创建数据库、关闭数据库

createKVManager(config: KVManagerConfig): KVManager

参数:

  • config:类型:KVManagerConfig,必填,提供KVManager实例的配置信息,包括调用方的包名(不能为空)和用户信息。

**返回值:**KVManager对象

例子
public initKVManager(bundleName:string):void{
  const kvManagerConfig: distributedKVStore.KVManagerConfig = {
    context: getContext(),
    bundleName: bundleName,
  }
  try {
    this.kvManager = distributedKVStore.createKVManager(kvManagerConfig)
  } catch (e) {
    let error = e as BusinessError;
    console.error(TAG,`创建失败,错误码:${error.code},信息:${error.message}`);
  }
}

KVManagerConfig

提供KVManager实例的配置信息,包括调用方的包名和应用的上下文。

包含以下属性:

  • context:类型:BaseContext,必填,应用的上下文,一般为 getContext()

  • bundleName:类型:string,必填,包名,详见链接

SingleKVStore单版本数据库

单版本数据库,数据不分设备,设备之间修改相同的Key会覆盖

创建数据库

通过 KVManager 对象创建数据库

接口1

通过指定options和storeId,创建并获取分布式键值数据库,使用callback异步回调。

getKVStore<T>(storeId: string, options: Options, callback: AsyncCallback<T>): void

参数:

  • storeId:类型:string,必填,数据库唯一标识符,长度不大于 128,且只能包含 字母数字下划线_

  • options:类型:Options,必填,创建分布式键值实例的配置信息。

  • callback:类型:AsyncCallback<T>,必填,回调函数。返回创建的分布式键值数据库实例(根据kvStoreType的不同,可以创建SingleKVStore实例和DeviceKVStore实例)。

  • </
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值