Object LevelDB
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 o obxecto LevelDB, pódense implementar facilmente operacións como o almacenamento de datos de pares clave-valor, a consulta, a eliminación e a enumeración. Está baseado na implementación de código aberto LevelDB de Google, que ten as vantaxes dunha alta eficiencia, fiabilidade e escalabilidade.
A creación de obxectos LevelDB é moi sinxela, só tes que pasardb.openLevelDBmétodo para crear un obxecto de base de datos co 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 un dato clave-valor, se o valor clave non existe, insira novos datos.
- get(key): Consulta o valor do valor da chave especificado.
- has(key): determina se existe a chave especificada.
- remove(key): elimina todos os valores do valor da chave especificado.
- forEach(func): enumera todos os pares clave-valor da base de datos.
- between(from, to, func): enumera os pares clave-valor cuxo valor clave está entre de e ata na base de datos.
- toJSON(clave): devolve a representación en formato JSON do obxecto e, xeralmente, devolve o conxunto de propiedades lexibles definidas polo obxecto.
- begin(): Abre unha transacción na base de datos actual.
- commit(): confirma 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 manipular de forma cómoda e flexible os datos do par clave-valor. En aplicacións prácticas, pódese usar en escenarios como o almacenamento, a caché e o rexistro para mellorar a eficiencia de lectura e escritura de datos, simplificar a lóxica do programa e reducir a complexidade do desenvolvemento.
relación de herdanza
función de membro
has
Comprobe se os datos co valor de clave especificado existen na base de datos
1Boolean LevelDB.has(Buffer key) async;
Parámetros de chamada:
- key:Buffer, especifica o valor da clave a comprobar
devolver resultado:
- Boolean, devolve se a chave existe
get
Consulta o valor do valor da chave especificado
1Buffer LevelDB.get(Buffer key) async;
Parámetros de chamada:
- key:Buffer, especifica o valor da clave que se vai consultar
devolver resultado:
- Buffer, devolve o valor correspondente ao valor da chave, ou nulo se non existe
mget
Consulta un conxunto de valores para unha clave especificada
1NArray LevelDB.mget(Array keys);
Parámetros de chamada:
- keys: Matriz, especifica a matriz de clave-valor que se vai consultar
devolver resultado:
- NArray, devolve unha matriz que contén valores clave
set
Establece un dato de valor clave, insire novos datos se o valor clave non existe
1
2LevelDB.set(Buffer key,
Buffer value) async;
Parámetros de chamada:
- key:Buffer, especifica o valor da clave que se vai definir
- value:Buffer, especifica os datos a configurar
mset
Establece un conxunto de datos de clave-valor, se o valor 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
Elimina un conxunto de valores para unha clave especificada
1LevelDB.mremove(Array keys);
Parámetros de chamada:
- keys: Matriz, especifica a matriz de clave-valor que se vai eliminar
remove
Elimina todos os valores do valor da chave especificado
1LevelDB.remove(Buffer key) async;
Parámetros de chamada:
- key:Buffer, especifica o valor da chave a eliminar
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) {
...
});
between
Enumere pares de clave-valor co valor clave entre de e ata na base de datos
1
2
3LevelDB.between(Buffer from,
Buffer to,
Function func);
Parámetros de chamada:
- from:Buffer, o valor de clave mínimo da enumeración, que se inclúe na enumeración
- to:Buffer, o valor máximo da clave da enumeración, este valor da 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.between("aaa", "bbb", function(value, key) {
...
});
begin
Iniciar unha transacción na base de datos actual
1LevelDB LevelDB.begin();
devolver resultado:
- LevelDB, devolve un obxecto de transacción aberta
commit
Comprometer a 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, xeralmente devolve "[Obxecto nativo]", o obxecto pódese reimplementar segundo as súas propias características
1String LevelDB.toString();
devolver resultado:
- String, devolve unha representación en cadea do obxecto
toJSON
Devolve a representación en formato JSON do obxecto, xeralmente devolve unha colección de propiedades lexibles definidas polo obxecto
1Value LevelDB.toJSON(String key = "");
Parámetros de chamada:
- key: Cadena, non usada
devolver resultado:
- Value, que devolve un valor serializable por JSON