オブジェクトレベルDB
evelDB は fibjs の組み込みデータベース操作オブジェクトであり、キーと値のペアの形式で辞書オブジェクトを作成および管理するために使用されます。LevelDB オブジェクトを使用すると、キーと値のペアのデータ保存、クエリ、削除、列挙などの操作を簡単に実装できます。Google のオープンソース LevelDB に基づいて実装されており、効率性、信頼性、拡張性の利点があります。
LevelDB オブジェクトの作成は非常に簡単で、渡すだけです。db.openLevelDBメソッドは、指定された名前でデータベース オブジェクトを作成します。例えば:
1
2var db = require("db");
var test = db.openLevelDB("test.db");
で、dbは fibjs のデータベース操作オブジェクトです。openLevelDB メソッドは leveldb データベースを開くために使用されます。test.db はデータベース名で、関数は次の値を返します。testオブジェクトはデータベースを操作するオブジェクトです。
LevelDB オブジェクトによってサポートされる主な操作は次のとおりです。
- set(key, value): キー値のデータを設定します。キー値が存在しない場合は、新しいデータを挿入します。
- get(key): 指定されたキー値の値を問い合わせます。
- has(key): 指定されたキー値が存在するかどうかを確認します。
- Remove(key): 指定されたキー値のすべての値を削除します。
- forEach(func): データベース内のすべてのキーと値のペアを列挙します。
- between(from, to, func): from と to の間のキー値を持つデータベース内のキーと値のペアを列挙します。
- toJSON(key): オブジェクトの JSON 形式表現を返します。通常は、オブジェクトによって定義された読み取り可能な属性のセットを返します。
- begin(): 現在のデータベースでトランザクションを開始します。
- commit(): 現在のトランザクションを送信します。
- close(): 現在のデータベース接続またはトランザクションを閉じます。
例えば:
1
2
3
4
5
6
7
8
9
10
11
12
13var db = require("db");
var test = db.openLevelDB("test.db");
test.set("test_key", "test_value");
var value = test.get("test_key");
console.log("test_key:", value.toString());
test.remove("test_key");
console.log("has test_key:", test.has("test_key"));
test.close();
以上が、キーと値のペアデータを便利かつ柔軟に操作できるLevelDBオブジェクトの基本的な使い方と例です。実際のアプリケーションでは、ストレージ、キャッシュ、ロギング、その他のシナリオで使用して、データの読み取りと書き込みの効率を向上させ、プログラム ロジックを簡素化し、開発の複雑さを軽減することができます。
相続関係
メンバー関数
has
指定したキー値を持つデータがデータベースに存在するか確認します
1Boolean LevelDB.has(Buffer key) async;
呼び出しパラメータ:
- key:Buffer、チェックするキー値を指定します
返される結果:
- Boolean、キー値が存在するかどうかを返します。
get
指定されたキー値の値を問い合わせます
1Buffer LevelDB.get(Buffer key) async;
呼び出しパラメータ:
- key:Buffer、クエリするキー値を指定します
返される結果:
- Buffer、キー値に対応する値を返します。キー値が存在しない場合は、null を返します。
mget
指定されたキー値のセットの値をクエリします。
1NArray LevelDB.mget(Array keys);
呼び出しパラメータ:
- keys: 配列。クエリするキー値の配列を指定します。
返される結果:
- NArray、キー値を含む配列を返します。
set
キー値のデータを設定します。キー値が存在しない場合は、新しいデータを挿入します。
1
2LevelDB.set(Buffer key,
Buffer value) async;
呼び出しパラメータ:
mset
キー値データのセットを設定します。キー値が存在しない場合は、新しいデータを挿入します。
1LevelDB.mset(Object map);
呼び出しパラメータ:
- map: オブジェクト。設定するキーと値のデータ ディクショナリを指定します。
mremove
指定されたキーの値のセットを削除します
1LevelDB.mremove(Array keys);
呼び出しパラメータ:
- keys: 配列、削除するキー値配列を指定します
remove
指定したキーの値をすべて削除します
1LevelDB.remove(Buffer key) async;
呼び出しパラメータ:
- key:Buffer、削除するキー値を指定します
firstKey
最小のキーを問い合わせる
1Buffer LevelDB.firstKey() async;
返される結果:
- Buffer、最小のキーを返します
lastKey
最大のキーをクエリする
1Buffer LevelDB.lastKey() async;
返される結果:
- Buffer、最大のキーを返します
forEach
データベース内のすべてのキーと値のペアを列挙します。
1LevelDB.forEach(Function func);
呼び出しパラメータ:
- func: 関数、列挙型コールバック関数
コールバック関数には 2 つのパラメータ (値、キー) があります。
1
2
3
4
5
6var db = require("db");
var test = new db.openLevelDB("test.db");
test.forEach(function(value, key) {
...
});
データベース内のすべてのキーと値のペアを列挙します。
1
2LevelDB.forEach(Buffer from,
Function func);
呼び出しパラメータ:
- from:Buffer、列挙の最小キー値。このキー値は列挙中に含まれます。
- func: 関数、列挙型コールバック関数
コールバック関数には 2 つのパラメータ (値、キー) があります。
1
2
3
4
5
6var db = require("db");
var test = new db.openLevelDB("test.db");
test.forEach("aaa", "bbb", function(value, key) {
...
});
データベース内のすべてのキーと値のペアを列挙します。
1
2
3LevelDB.forEach(Buffer from,
Buffer to,
Function func);
呼び出しパラメータ:
コールバック関数には 2 つのパラメータ (値、キー) があります。
1
2
3
4
5
6var db = require("db");
var test = new db.openLevelDB("test.db");
test.forEach("aaa", "bbb", function(value, key) {
...
});
データベース内のすべてのキーと値のペアを列挙します。
1
2LevelDB.forEach(Object opt,
Function func);
呼び出しパラメータ:
- opt: オブジェクト、列挙オプション、スキップ、制限、反転をサポート
- func: 関数、列挙型コールバック関数
コールバック関数には 2 つのパラメータ (値、キー) があります。
1
2
3
4
5
6var db = require("db");
var test = new db.openLevelDB("test.db");
test.forEach(function(value, key) {
...
});
データベース内のすべてのキーと値のペアを列挙します。
1
2
3LevelDB.forEach(Buffer from,
Object opt,
Function func);
呼び出しパラメータ:
- from:Buffer、列挙の最小キー値。このキー値は列挙中に含まれます。
- opt: オブジェクト、列挙オプション、スキップ、制限、反転をサポート
- func: 関数、列挙型コールバック関数
コールバック関数には 2 つのパラメータ (値、キー) があります。
1
2
3
4
5
6var db = require("db");
var test = new db.openLevelDB("test.db");
test.forEach("aaa", "bbb", function(value, key) {
...
});
データベース内のすべてのキーと値のペアを列挙します。
1
2
3
4LevelDB.forEach(Buffer from,
Buffer to,
Object opt,
Function func);
呼び出しパラメータ:
- from:Buffer、列挙の最小キー値。このキー値は列挙中に含まれます。
- to:Buffer、列挙型の最大キー値。このキー値は列挙型には含まれません。
- opt: オブジェクト、列挙オプション、スキップ、制限、反転をサポート
- func: 関数、列挙型コールバック関数
コールバック関数には 2 つのパラメータ (値、キー) があります。
1
2
3
4
5
6var db = require("db");
var test = new db.openLevelDB("test.db");
test.forEach("aaa", "bbb", function(value, key) {
...
});
begin
現在のデータベースでトランザクションを開始します
1LevelDB LevelDB.begin();
返される結果:
- LevelDB、開いているトランザクション オブジェクトを返します。
commit
現在のトランザクションを送信する
1LevelDB.commit();
close
現在のデータベース接続またはトランザクションを閉じます。
1LevelDB.close() async;
toString
オブジェクトの文字列表現を返します。通常、「[Native Object]」が返されます。オブジェクトは、独自の特性に従って再実装できます。
1String LevelDB.toString();
返される結果:
- String、オブジェクトの文字列表現を返します。
toJSON
オブジェクトの JSON 形式表現を返します。通常は、オブジェクトによって定義された読み取り可能なプロパティのコレクションを返します。
1Value LevelDB.toJSON(String key = "");
呼び出しパラメータ:
- key: 文字列、使用されません
返される結果:
- Value、シリアル化可能な JSON を含む値を返します