ObjectLevelDB
evelDB — это встроенный объект операции с базой данных fibjs, который используется для создания и управления объектами словаря в форме пар ключ-значение. Используя объекты LevelDB, вы можете легко реализовать хранение данных пар ключ-значение, запросы, удаление, перечисление и другие операции. Он реализован на основе LevelDB с открытым исходным кодом Google и обладает преимуществами эффективности, надежности и масштабируемости.
Создать объект 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, возвращает значение, соответствующее значению ключа, если оно не существует, возвращает ноль
mget
Запросить значение набора указанных значений ключей
1NArray LevelDB.mget(Array keys);
Параметры звонка:
- keys: Массив, указывает массив значений ключей, который будет запрошен.
Результаты возврата:
- NArray, возвращает массив, содержащий значения ключей
set
Установите данные значения ключа. Если значение ключа не существует, вставьте новые данные.
1
2LevelDB.set(Buffer key,
Buffer value) async;
Параметры звонка:
- key:Buffer, укажите значение ключа, которое будет установлено
- value:Buffer, укажите данные для установки
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: Функция, функция обратного вызова перечисления.
Функция обратного вызова имеет два параметра (значение, ключ).
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: Функция, функция обратного вызова перечисления.
Функция обратного вызова имеет два параметра (значение, ключ).
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);
Параметры звонка:
- from:Buffer, минимальное значение ключа перечисления. Это значение ключа включается во время перечисления.
- to:Buffer, максимальное значение ключа перечисления. Это значение ключа не включено в перечисление.
- func: Функция, функция обратного вызова перечисления.
Функция обратного вызова имеет два параметра (значение, ключ).
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: Функция, функция обратного вызова перечисления.
Функция обратного вызова имеет два параметра (значение, ключ).
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: Функция, функция обратного вызова перечисления.
Функция обратного вызова имеет два параметра (значение, ключ).
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: Функция, функция обратного вызова перечисления.
Функция обратного вызова имеет два параметра (значение, ключ).
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