Obxecto obxecto incorporado

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 2
var 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 13
var 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

1
Boolean 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

1
Buffer 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

1
NArray 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 2
LevelDB.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

1
LevelDB.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

1
LevelDB.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

1
LevelDB.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

1
LevelDB.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 6
var 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 3
LevelDB.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 6
var 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

1
LevelDB LevelDB.begin();

devolver resultado:

  • LevelDB, devolve un obxecto de transacción aberta

commit

Comprometer a transacción actual

1
LevelDB.commit();

close

Pecha a conexión ou transacción de base de datos actual

1
LevelDB.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

1
String 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

1
Value LevelDB.toJSON(String key = "");

Parámetros de chamada:

  • key: Cadena, non usada

devolver resultado:

  • Value, que devolve un valor serializable por JSON