业务数据存储
基于 Prefersence 内存存储的业务数据存储模块,支持的数据类型包含:number、string、boolean、Array<number>、Array<boolean>、Array<Uint8Array> 和 Uint8Array。
创建业务数据表
let mpData: MPData = MPData.createData('xxx')
增删改查
let mpData: MPData = MPData.createData('xxx')
mpData.put(key,value)
mpData.putObject(key,object)
mpData.delete(key)
mpData.get(key):preferences.ValueType
mpData.getAll(): [string,string[]]
同步
不调用同步接口时,数据信息存储到内存中;调用同步接口后,数据存储到序列化文件中。
mpData.synchronize()
清空数据
mpData.clear()
全局用户存储
增删改查
import { MPData } from "@mpaas/datacenter"
// 存储
// 基本数据类型
MPData.put(key, value).then().catch() // 默认全局存储
MPData.put(key, value,{userId:""}).then().cantch //用户关联数据存储
MPData.put(key, value,{encrypt: true}).then().catch() // 使用加密存储
// object
MPData.putObject(key, value).then().catch()
MPData.putObject(key, value,{userId:""}).then().cantch //用户关联数据存储
MPData.putObject(key, value,{encrypt: true}).then().catch() // 使用加密存储
// 批量操作
MPData.putBatch(values).then().catch()
MPData.putBatch(values,{userId:""}).then().cantch //用户关联数据存储
MPData.putBatch(values,{encrypt: true}).then().catch() // 使用加密存储
// 取值
MPData.get(key).then().catch()
MPData.get(key,{userId:""}).then().cantch //用户关联数据
MPData.get(key,{encrypt: true}).then().catch() // 使用加密
// 删除
await MPData.delete(key)
await MPData.delete(key,{userId : "" })
await MPData.delete(key,{encrypt:true})
重要
传入的可选参数要保持一致。
重置数据
// 重置
await MPData.resetGlobalStore() // 全局数据
await MPData.resetUserStore(userId) // 用户数据
查询指定参数下所有数据
// 获取所有数据
await MPData.getAllData() // 全局数据
await MPData.getAllData(userId) //用户数据
关闭链接
建议使用完数据后关闭数据库链接,鸿蒙底层限制最大并发 8 个数据库链接池,超过后会有异常。
await MPData.close()
获取指定前缀的数据数组
MPData.getEntries(keyPrefix).then((data)=>{
//data 是一个json串
}).catch()
MPData.getEntries(keyPrefix,{userId:""}).then().cantch //用户关联数据
MPData.getEntries(keyPrefix,{encrypt: true}).then().catch() // 使用加密
文件存储
let fileUtil = new MPFile()
// 存储文件 encrypt:是否加密
public async saveFile(fileName: string , content: string, encrypt: boolean = false)
// 获取文件内容
public async getFileContent(fileName: string, encrypt: boolean = false)
// 删除文件
public async removeFile(fileName: string)
数据集操作
调用
getResult
获取数据集。// 获取指定前缀的数据集 MPData.getResult(keyPrefix).then().catch() MPData.getResult(keyPrefix,{userId:""}).then().catch() MPData.getResult(keyPrefix,{encrypt:true}).then().catch()
调用下方 API。其中,参数要保持一致。
MPData.getCount() 当前游标位置 MPData.getPosition() 游标移动 MPData.moveToFirst() MPData.moveToNext() MPData.moveToPrevious() MPData.move(offset) MPData.moveToPosition(position) 游标位置判断 MPData.isFirst() MPData.isLast() MPData.isBeforeFirst() MPData.isAfterLast() 获取当前游标对应的数据 MPData.getEntry()
文档内容是否对您有帮助?