• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# 单版本分布式数据库<a name="ZH-CN_TOPIC_0000001209252187"></a>
2
3>![](../../public_sys-resources/icon-note.gif) **说明:**
4>从 API Version 7 开始支持。
5
6## 导入模块<a name="zh-cn_topic_0000001129947446_s56d19203690d4782bfc74069abb6bd71"></a>
7
8```
9import factory from '@ohos.data.distributeddata';
10```
11
12## 权限<a name="zh-cn_topic_0000001129947446_section11257113618419"></a>
13
1415
16## SingleKVStore<a name="zh-cn_topic_0000001129947446_section12882825611"></a>
17
18单版本分布式数据库,继承自分布式数据库,支持查询、同步数据,也具备分布式数据库的所有的接口能力。需要先通过[getKVStore](js-apis-data-kvmanager.md#zh-cn_topic_0000001179090937_section51960467216)获取实例。
19
20### get\(key: string, callback: AsyncCallback<Uint8Array | string | boolean | number\>\): void<a name="zh-cn_topic_0000001129947446_section2013623011386"></a>
21
22获取指定键的值。
23
24此方法为异步callback方法。
25
26-   参数:
27
28    <a name="zh-cn_topic_0000001129947446_table1913714301387"></a>
29    <table><thead align="left"><tr id="zh-cn_topic_0000001129947446_row20137730143813"><th class="cellrowborder" valign="top" width="19.541954195419542%" id="mcps1.1.4.1.1"><p id="zh-cn_topic_0000001129947446_p14137153017383"><a name="zh-cn_topic_0000001129947446_p14137153017383"></a><a name="zh-cn_topic_0000001129947446_p14137153017383"></a>参数名</p>
30    </th>
31    <th class="cellrowborder" valign="top" width="29.14291429142914%" id="mcps1.1.4.1.2"><p id="zh-cn_topic_0000001129947446_p11137113011389"><a name="zh-cn_topic_0000001129947446_p11137113011389"></a><a name="zh-cn_topic_0000001129947446_p11137113011389"></a>类型</p>
32    </th>
33    <th class="cellrowborder" valign="top" width="51.315131513151314%" id="mcps1.1.4.1.3"><p id="zh-cn_topic_0000001129947446_p9137143011385"><a name="zh-cn_topic_0000001129947446_p9137143011385"></a><a name="zh-cn_topic_0000001129947446_p9137143011385"></a>说明</p>
34    </th>
35    </tr>
36    </thead>
37    <tbody><tr id="zh-cn_topic_0000001129947446_row15137173014380"><td class="cellrowborder" valign="top" width="19.541954195419542%" headers="mcps1.1.4.1.1 "><p id="zh-cn_topic_0000001129947446_p15137330173815"><a name="zh-cn_topic_0000001129947446_p15137330173815"></a><a name="zh-cn_topic_0000001129947446_p15137330173815"></a>key</p>
38    </td>
39    <td class="cellrowborder" valign="top" width="29.14291429142914%" headers="mcps1.1.4.1.2 "><p id="zh-cn_topic_0000001129947446_p1713863017383"><a name="zh-cn_topic_0000001129947446_p1713863017383"></a><a name="zh-cn_topic_0000001129947446_p1713863017383"></a>string</p>
40    </td>
41    <td class="cellrowborder" valign="top" width="51.315131513151314%" headers="mcps1.1.4.1.3 "><p id="zh-cn_topic_0000001129947446_p513843019386"><a name="zh-cn_topic_0000001129947446_p513843019386"></a><a name="zh-cn_topic_0000001129947446_p513843019386"></a>要查询数据的key。不能为空且长度不大于1KB</p>
42    </td>
43    </tr>
44    <tr id="zh-cn_topic_0000001129947446_row111381630143817"><td class="cellrowborder" valign="top" width="19.541954195419542%" headers="mcps1.1.4.1.1 "><p id="zh-cn_topic_0000001129947446_p51381130173814"><a name="zh-cn_topic_0000001129947446_p51381130173814"></a><a name="zh-cn_topic_0000001129947446_p51381130173814"></a>callback</p>
45    </td>
46    <td class="cellrowborder" valign="top" width="29.14291429142914%" headers="mcps1.1.4.1.2 "><p id="zh-cn_topic_0000001129947446_p1013823015387"><a name="zh-cn_topic_0000001129947446_p1013823015387"></a><a name="zh-cn_topic_0000001129947446_p1013823015387"></a>AsyncCallback&lt;Uint8Array | string | boolean | number&gt;</p>
47    </td>
48    <td class="cellrowborder" valign="top" width="51.315131513151314%" headers="mcps1.1.4.1.3 "><p id="zh-cn_topic_0000001129947446_p813819305384"><a name="zh-cn_topic_0000001129947446_p813819305384"></a><a name="zh-cn_topic_0000001129947446_p813819305384"></a>回调函数,获取查询的值。</p>
49    </td>
50    </tr>
51    </tbody>
52    </table>
53
54-   返回值:
55
5657
58-   示例:
59
60    ```
61    kvStore.get('key-001', function(err, value){
62        console.info(value);
63    });
64    ```
65
66
67### get\(key: string\): Promise<Uint8Array | string | boolean | number\><a name="zh-cn_topic_0000001129947446_section5647141894316"></a>
68
69获取指定键的值。
70
71此方法为异步promise方法。
72
73-   参数:
74
75    <a name="zh-cn_topic_0000001129947446_table4647818164315"></a>
76    <table><thead align="left"><tr id="zh-cn_topic_0000001129947446_row16481918184315"><th class="cellrowborder" valign="top" width="19.541954195419542%" id="mcps1.1.4.1.1"><p id="zh-cn_topic_0000001129947446_p186481918104313"><a name="zh-cn_topic_0000001129947446_p186481918104313"></a><a name="zh-cn_topic_0000001129947446_p186481918104313"></a>参数名</p>
77    </th>
78    <th class="cellrowborder" valign="top" width="29.14291429142914%" id="mcps1.1.4.1.2"><p id="zh-cn_topic_0000001129947446_p264851804315"><a name="zh-cn_topic_0000001129947446_p264851804315"></a><a name="zh-cn_topic_0000001129947446_p264851804315"></a>类型</p>
79    </th>
80    <th class="cellrowborder" valign="top" width="51.315131513151314%" id="mcps1.1.4.1.3"><p id="zh-cn_topic_0000001129947446_p206486189432"><a name="zh-cn_topic_0000001129947446_p206486189432"></a><a name="zh-cn_topic_0000001129947446_p206486189432"></a>说明</p>
81    </th>
82    </tr>
83    </thead>
84    <tbody><tr id="zh-cn_topic_0000001129947446_row136493184436"><td class="cellrowborder" valign="top" width="19.541954195419542%" headers="mcps1.1.4.1.1 "><p id="zh-cn_topic_0000001129947446_p164931854319"><a name="zh-cn_topic_0000001129947446_p164931854319"></a><a name="zh-cn_topic_0000001129947446_p164931854319"></a>key</p>
85    </td>
86    <td class="cellrowborder" valign="top" width="29.14291429142914%" headers="mcps1.1.4.1.2 "><p id="zh-cn_topic_0000001129947446_p1064991854311"><a name="zh-cn_topic_0000001129947446_p1064991854311"></a><a name="zh-cn_topic_0000001129947446_p1064991854311"></a>string</p>
87    </td>
88    <td class="cellrowborder" valign="top" width="51.315131513151314%" headers="mcps1.1.4.1.3 "><p id="zh-cn_topic_0000001129947446_p15650141834319"><a name="zh-cn_topic_0000001129947446_p15650141834319"></a><a name="zh-cn_topic_0000001129947446_p15650141834319"></a>要查询数据的key。不能为空且长度不大于1KB</p>
89    </td>
90    </tr>
91    </tbody>
92    </table>
93
94-   返回值:
95
96    <a name="zh-cn_topic_0000001129947446_table20650161884312"></a>
97    <table><thead align="left"><tr id="zh-cn_topic_0000001129947446_row11650121820433"><th class="cellrowborder" valign="top" width="39.94%" id="mcps1.1.3.1.1"><p id="zh-cn_topic_0000001129947446_p4650181884318"><a name="zh-cn_topic_0000001129947446_p4650181884318"></a><a name="zh-cn_topic_0000001129947446_p4650181884318"></a>类型</p>
98    </th>
99    <th class="cellrowborder" valign="top" width="60.06%" id="mcps1.1.3.1.2"><p id="zh-cn_topic_0000001129947446_p96501118194314"><a name="zh-cn_topic_0000001129947446_p96501118194314"></a><a name="zh-cn_topic_0000001129947446_p96501118194314"></a>说明</p>
100    </th>
101    </tr>
102    </thead>
103    <tbody><tr id="zh-cn_topic_0000001129947446_row2065071884319"><td class="cellrowborder" valign="top" width="39.94%" headers="mcps1.1.3.1.1 "><p id="zh-cn_topic_0000001129947446_p1065131812433"><a name="zh-cn_topic_0000001129947446_p1065131812433"></a><a name="zh-cn_topic_0000001129947446_p1065131812433"></a>Promise&lt;Uint8Array | string | boolean | number&gt;</p>
104    </td>
105    <td class="cellrowborder" valign="top" width="60.06%" headers="mcps1.1.3.1.2 "><p id="zh-cn_topic_0000001129947446_p2065191813435"><a name="zh-cn_topic_0000001129947446_p2065191813435"></a><a name="zh-cn_topic_0000001129947446_p2065191813435"></a>promise实例,用于获取异步返回结果。</p>
106    </td>
107    </tr>
108    </tbody>
109    </table>
110
111-   示例:
112
113    ```
114    const promise = kvStore.get('key-001');
115            promise.then((data) => {
116               console.info(value);
117            }).catch((err) => {
118            });
119    ```
120
121
122### sync\(deviceIdList: string\[\], mode: SyncMode, allowedDelayMs?: number\): void<a name="zh-cn_topic_0000001129947446_section06419235582"></a>
123
124在手动模式下,触发数据库同步。
125
126此方法为同步方法。
127
128-   参数:
129
130    <a name="zh-cn_topic_0000001129947446_table16642172313584"></a>
131    <table><thead align="left"><tr id="zh-cn_topic_0000001129947446_row1064292310587"><th class="cellrowborder" valign="top" width="17.91%" id="mcps1.1.5.1.1"><p id="zh-cn_topic_0000001129947446_p9642172345810"><a name="zh-cn_topic_0000001129947446_p9642172345810"></a><a name="zh-cn_topic_0000001129947446_p9642172345810"></a>参数名</p>
132    </th>
133    <th class="cellrowborder" valign="top" width="19.009999999999998%" id="mcps1.1.5.1.2"><p id="zh-cn_topic_0000001129947446_p1264242365813"><a name="zh-cn_topic_0000001129947446_p1264242365813"></a><a name="zh-cn_topic_0000001129947446_p1264242365813"></a>类型</p>
134    </th>
135    <th class="cellrowborder" valign="top" width="24.169999999999998%" id="mcps1.1.5.1.3"><p id="zh-cn_topic_0000001129947446_p46421923185813"><a name="zh-cn_topic_0000001129947446_p46421923185813"></a><a name="zh-cn_topic_0000001129947446_p46421923185813"></a>必填</p>
136    </th>
137    <th class="cellrowborder" valign="top" width="38.91%" id="mcps1.1.5.1.4"><p id="zh-cn_topic_0000001129947446_p16426231582"><a name="zh-cn_topic_0000001129947446_p16426231582"></a><a name="zh-cn_topic_0000001129947446_p16426231582"></a>说明</p>
138    </th>
139    </tr>
140    </thead>
141    <tbody><tr id="zh-cn_topic_0000001129947446_row196421223165820"><td class="cellrowborder" valign="top" width="17.91%" headers="mcps1.1.5.1.1 "><p id="zh-cn_topic_0000001129947446_p176426239586"><a name="zh-cn_topic_0000001129947446_p176426239586"></a><a name="zh-cn_topic_0000001129947446_p176426239586"></a>deviceIdList</p>
142    </td>
143    <td class="cellrowborder" valign="top" width="19.009999999999998%" headers="mcps1.1.5.1.2 "><p id="zh-cn_topic_0000001129947446_p11642192345813"><a name="zh-cn_topic_0000001129947446_p11642192345813"></a><a name="zh-cn_topic_0000001129947446_p11642192345813"></a>string[]</p>
144    </td>
145    <td class="cellrowborder" valign="top" width="24.169999999999998%" headers="mcps1.1.5.1.3 "><p id="zh-cn_topic_0000001129947446_p196428238584"><a name="zh-cn_topic_0000001129947446_p196428238584"></a><a name="zh-cn_topic_0000001129947446_p196428238584"></a>是</p>
146    </td>
147    <td class="cellrowborder" valign="top" width="38.91%" headers="mcps1.1.5.1.4 "><p id="zh-cn_topic_0000001129947446_p564282316586"><a name="zh-cn_topic_0000001129947446_p564282316586"></a><a name="zh-cn_topic_0000001129947446_p564282316586"></a>同一组网环境下,需要同步的设备networkid列表。</p>
148    </td>
149    </tr>
150    <tr id="zh-cn_topic_0000001129947446_row15290171774817"><td class="cellrowborder" valign="top" width="17.91%" headers="mcps1.1.5.1.1 "><p id="zh-cn_topic_0000001129947446_p52919178483"><a name="zh-cn_topic_0000001129947446_p52919178483"></a><a name="zh-cn_topic_0000001129947446_p52919178483"></a>mode</p>
151    </td>
152    <td class="cellrowborder" valign="top" width="19.009999999999998%" headers="mcps1.1.5.1.2 "><p id="zh-cn_topic_0000001129947446_p0291617134819"><a name="zh-cn_topic_0000001129947446_p0291617134819"></a><a name="zh-cn_topic_0000001129947446_p0291617134819"></a><a href="js-apis-data-type.md#zh-cn_topic_0000001129943828_section53541759205119">SyncMode</a></p>
153    </td>
154    <td class="cellrowborder" valign="top" width="24.169999999999998%" headers="mcps1.1.5.1.3 "><p id="zh-cn_topic_0000001129947446_p1829171719482"><a name="zh-cn_topic_0000001129947446_p1829171719482"></a><a name="zh-cn_topic_0000001129947446_p1829171719482"></a>是</p>
155    </td>
156    <td class="cellrowborder" valign="top" width="38.91%" headers="mcps1.1.5.1.4 "><p id="zh-cn_topic_0000001129947446_p219412514334"><a name="zh-cn_topic_0000001129947446_p219412514334"></a><a name="zh-cn_topic_0000001129947446_p219412514334"></a>同步类型。</p>
157    <p id="zh-cn_topic_0000001129947446_p72914177486"><a name="zh-cn_topic_0000001129947446_p72914177486"></a><a name="zh-cn_topic_0000001129947446_p72914177486"></a>0:PUSH_ONLY, 1: PULL_ONLY, 2: PUSH_PULL</p>
158    </td>
159    </tr>
160    <tr id="zh-cn_topic_0000001129947446_row7797191217527"><td class="cellrowborder" valign="top" width="17.91%" headers="mcps1.1.5.1.1 "><p id="zh-cn_topic_0000001129947446_p11797512195211"><a name="zh-cn_topic_0000001129947446_p11797512195211"></a><a name="zh-cn_topic_0000001129947446_p11797512195211"></a>allowedDelayMs</p>
161    </td>
162    <td class="cellrowborder" valign="top" width="19.009999999999998%" headers="mcps1.1.5.1.2 "><p id="zh-cn_topic_0000001129947446_p15797181210529"><a name="zh-cn_topic_0000001129947446_p15797181210529"></a><a name="zh-cn_topic_0000001129947446_p15797181210529"></a>number</p>
163    </td>
164    <td class="cellrowborder" valign="top" width="24.169999999999998%" headers="mcps1.1.5.1.3 "><p id="zh-cn_topic_0000001129947446_p10797712145215"><a name="zh-cn_topic_0000001129947446_p10797712145215"></a><a name="zh-cn_topic_0000001129947446_p10797712145215"></a>否</p>
165    </td>
166    <td class="cellrowborder" valign="top" width="38.91%" headers="mcps1.1.5.1.4 "><p id="zh-cn_topic_0000001129947446_p20797912145218"><a name="zh-cn_topic_0000001129947446_p20797912145218"></a><a name="zh-cn_topic_0000001129947446_p20797912145218"></a>可选参数。允许延时时间,单位毫秒。</p>
167    </td>
168    </tr>
169    </tbody>
170    </table>
171
172-   返回值:
173
174175
176-   示例:
177
178    ```
179    kvStore.sync(deviceIds, 1, 1000);
180    ```
181
182
183