ObjectLevelDB
evelDB é un obxecto de operación de base de datos integrado de fibjs, que se usa para crear e xestionar obxectos de dicionario en forma de pares clave-valor. Usando obxectos LevelDB, pode implementar facilmente o almacenamento de datos de pares clave-valor, consulta, eliminación, enumeración e outras operacións. Impléntanse baseándose no LevelDB de código aberto de Google e ten as vantaxes de eficiencia, fiabilidade e escalabilidade.
Crear un obxecto LevelDB é moi sinxelo, só tes que pasardb.openLevelDBO método crea un obxecto de base de datos cun nome especificado. Por exemplo:
1
2var db = require("db");
var test = db.openLevelDB("test.db");
en,dbé o obxecto de operación da base de datos de fibjs, o método openLevelDB úsase para abrir a base de datos leveldb, test.db é o nome da base de datos e a función devolvetestO obxecto é o obxecto que opera a base de datos.
As principais operacións soportadas polos obxectos LevelDB inclúen:
- set(key, value): establece os datos dun valor clave. Se o valor da clave non existe, insire novos datos.
- get(key): Consulta o valor do valor da chave especificado.
- has(key): determina se existe o valor de chave especificado.
- remove(key): elimina todos os valores do valor da chave especificado.
- forEach(func): enumera todos os pares clave-valor na base de datos.
- between(from, to, func): Enumere pares clave-valor na base de datos con valores clave entre de e ata.
- toJSON(clave): Devolve a representación en formato JSON do obxecto, devolvendo xeralmente un conxunto de atributos lexibles definidos polo obxecto.
- begin(): inicia unha transacción na base de datos actual.
- commit(): envía a transacción actual.
- close(): pecha a conexión ou transacción de base de datos actual.
Por exemplo:
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();
Os anteriores son o uso básico e exemplos de obxectos LevelDB, que poden operar de forma cómoda e flexible os datos de pares clave-valor. En aplicacións prácticas, pódese usar en almacenamento, almacenamento en caché, rexistro e outros escenarios para mellorar a eficiencia da lectura e escritura de datos, simplificar a lóxica do programa, reducir a complexidade do desenvolvemento, etc.
relación de herdanza
función de membro
has
Comprobe se na base de datos existen datos co valor de clave especificado
1Boolean LevelDB.has(Buffer key) async;
Parámetros de chamada:
- key:Buffer, especifique o valor da clave que se vai comprobar
Resultados de devolución:
- Boolean, devolve se o valor da chave existe
get
Consulta o valor do valor da chave especificado
1Buffer LevelDB.get(Buffer key) async;
Parámetros de chamada:
- key:Buffer, especifique o valor da clave que se vai consultar
Resultados de devolución:
- Buffer, devolve o valor correspondente ao valor da chave, se non existe, devolve nulo
mget
Consulta o valor dun conxunto de valores clave especificados
1NArray LevelDB.mget(Array keys);
Parámetros de chamada:
- keys: Matriz, especifica a matriz de valores clave que se vai consultar
Resultados de devolución:
- NArray, devolve unha matriz que contén valores clave
set
Establece un dato de valor clave. Se o valor de clave non existe, insire novos datos.
1
2LevelDB.set(Buffer key,
Buffer value) async;
Parámetros de chamada:
- key:Buffer, especifique o valor da clave que se quere establecer
- value:Buffer, especifique os datos a configurar
mset
Establece un conxunto de datos do valor da clave. Se o valor da clave non existe, insire novos datos.
1LevelDB.mset(Object map);
Parámetros de chamada:
- map: Obxecto, especifica o dicionario de datos clave-valor que se vai definir
mremove
Eliminar un conxunto de valores para unha clave especificada
1LevelDB.mremove(Array keys);
Parámetros de chamada:
- keys: Matriz, especifica a matriz de valores clave que se vai eliminar
remove
Elimina todos os valores da clave especificada
1LevelDB.remove(Buffer key) async;
Parámetros de chamada:
- key:Buffer, especifique o valor da clave que se quere eliminar
firstKey
Consulta a clave máis pequena
1Buffer LevelDB.firstKey() async;
Resultados de devolución:
- Buffer, devolve a clave máis pequena
lastKey
Consulta a clave máis grande
1Buffer LevelDB.lastKey() async;
Resultados de devolución:
- Buffer, devolve a clave máis grande
forEach
Enumere todos os pares clave-valor na base de datos
1LevelDB.forEach(Function func);
Parámetros de chamada:
- func: Función, función de devolución de chamada de enumeración
A función de devolución de chamada ten dous parámetros, (valor, clave)
1
2
3
4
5
6var db = require("db");
var test = new db.openLevelDB("test.db");
test.forEach(function(value, key) {
...
});
Enumere todos os pares clave-valor na base de datos
1
2LevelDB.forEach(Buffer from,
Function func);
Parámetros de chamada:
- from:Buffer, o valor de clave mínimo da enumeración, este valor clave inclúese durante a enumeración
- func: Función, función de devolución de chamada de enumeración
A función de devolución de chamada ten dous parámetros, (valor, clave)
1
2
3
4
5
6var db = require("db");
var test = new db.openLevelDB("test.db");
test.forEach("aaa", "bbb", function(value, key) {
...
});
Enumere todos os pares clave-valor na base de datos
1
2
3LevelDB.forEach(Buffer from,
Buffer to,
Function func);
Parámetros de chamada:
- from:Buffer, o valor de clave mínimo da enumeración, este valor clave inclúese durante a enumeración
- to:Buffer, o valor máximo da clave da enumeración, este valor clave non está incluído na enumeración
- func: Función, función de devolución de chamada de enumeración
A función de devolución de chamada ten dous parámetros, (valor, clave)
1
2
3
4
5
6var db = require("db");
var test = new db.openLevelDB("test.db");
test.forEach("aaa", "bbb", function(value, key) {
...
});
Enumere todos os pares clave-valor na base de datos
1
2LevelDB.forEach(Object opt,
Function func);
Parámetros de chamada:
- opt: Obxecto, opcións de enumeración, admite omitir, limitar, invertir
- func: Función, función de devolución de chamada de enumeración
A función de devolución de chamada ten dous parámetros, (valor, clave)
1
2
3
4
5
6var db = require("db");
var test = new db.openLevelDB("test.db");
test.forEach(function(value, key) {
...
});
Enumere todos os pares clave-valor na base de datos
1
2
3LevelDB.forEach(Buffer from,
Object opt,
Function func);
Parámetros de chamada:
- from:Buffer, o valor de clave mínimo da enumeración, este valor clave inclúese durante a enumeración
- opt: Obxecto, opcións de enumeración, admite omitir, limitar, invertir
- func: Función, función de devolución de chamada de enumeración
A función de devolución de chamada ten dous parámetros, (valor, clave)
1
2
3
4
5
6var db = require("db");
var test = new db.openLevelDB("test.db");
test.forEach("aaa", "bbb", function(value, key) {
...
});
Enumere todos os pares clave-valor na base de datos
1
2
3
4LevelDB.forEach(Buffer from,
Buffer to,
Object opt,
Function func);
Parámetros de chamada:
- from:Buffer, o valor de clave mínimo da enumeración, este valor clave inclúese durante a enumeración
- to:Buffer, o valor máximo da clave da enumeración, este valor clave non está incluído na enumeración
- opt: Obxecto, opcións de enumeración, admite omitir, limitar, invertir
- func: Función, función de devolución de chamada de enumeración
A función de devolución de chamada ten dous parámetros, (valor, clave)
1
2
3
4
5
6var db = require("db");
var test = new db.openLevelDB("test.db");
test.forEach("aaa", "bbb", function(value, key) {
...
});
begin
Iniciar unha transacción na base de datos actual
1LevelDB LevelDB.begin();
Resultados de devolución:
- LevelDB, devolve un obxecto de transacción aberta
commit
Enviar transacción actual
1LevelDB.commit();
close
Pecha a conexión ou transacción de base de datos actual
1LevelDB.close() async;
toString
Devolve a representación en cadea do obxecto. Polo xeral, devólvese "[Obxecto nativo]". O obxecto pódese volver implementar segundo as súas propias características.
1String LevelDB.toString();
Resultados de devolución:
- String, devolve a representación en cadea do obxecto
toJSON
Devolve unha representación en formato JSON do obxecto, devolvendo xeralmente unha colección de propiedades lexibles definidas polo obxecto.
1Value LevelDB.toJSON(String key = "");
Parámetros de chamada:
- key: Cadena, non usada
Resultados de devolución:
- Value, devolve un valor que contén JSON serializable