Oggetto oggetto incorporato

Oggetto LevelDB

evelDB è un oggetto operazione di database integrato di fibjs, che viene utilizzato per creare e gestire oggetti dizionario sotto forma di coppie chiave-valore. Utilizzando l'oggetto LevelDB, è possibile implementare facilmente operazioni come l'archiviazione di dati di coppia chiave-valore, query, eliminazione ed enumerazione. Si basa sull'implementazione open source LevelDB di Google, che presenta i vantaggi di alta efficienza, affidabilità e scalabilità

La creazione degli oggetti LevelDB è molto semplice, basta passaredb.openLevelDBmetodo per creare un oggetto di database con il nome specificato. Per esempio:

1 2
var db = require("db"); var test = db.openLevelDB("test.db");

In,dbÈ l'oggetto operativo del database di fibjs, il metodo openLevelDB viene utilizzato per aprire il database leveldb, test.db è il nome del database e la funzione restituiscetestL'oggetto è l'oggetto che gestisce il database.

Le principali operazioni supportate dagli oggetti LevelDB includono:

  • set(key, value): imposta i dati di un valore-chiave, se il valore della chiave non esiste, inserisci nuovi dati.
  • get(key): esegue una query sul valore della chiave specificata.
  • has(key): determina se la chiave specificata esiste.
  • remove(key): Elimina tutti i valori del valore chiave specificato.
  • forEach(func): enumera tutte le coppie chiave-valore nel database.
  • between(from, to, func): enumera le coppie chiave-valore il cui valore-chiave è compreso tra from e to nel database.
  • toJSON(key): restituisce la rappresentazione in formato JSON dell'oggetto e generalmente restituisce l'insieme di proprietà leggibili definite dall'oggetto.
  • begin(): apre una transazione sul database corrente.
  • commit(): esegue il commit della transazione corrente.
  • close(): chiude la connessione o transazione al database corrente.

Per esempio:

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();

Quanto sopra è l'utilizzo di base e gli esempi degli oggetti LevelDB, che possono manipolare in modo conveniente e flessibile i dati della coppia chiave-valore. Nelle applicazioni pratiche, può essere utilizzato in scenari quali archiviazione, memorizzazione nella cache e registrazione per migliorare l'efficienza di lettura e scrittura dei dati, semplificare la logica del programma e ridurre la complessità dello sviluppo.

rapporto ereditario

funzione membro

has

Verificare se i dati con il valore di chiave specificato esistono nel database

1
Boolean LevelDB.has(Buffer key) async;

Parametri di chiamata:

  • key:Buffer, specifica il valore della chiave da controllare

risultato di ritorno:

  • Boolean, restituisce se la chiave esiste

get

Eseguire una query sul valore della chiave specificata

1
Buffer LevelDB.get(Buffer key) async;

Parametri di chiamata:

  • key:Buffer, specifica il valore della chiave da interrogare

risultato di ritorno:

  • Buffer, restituisce il valore corrispondente al valore della chiave o null se non esiste

mget

Interroga un set di valori per una chiave specificata

1
NArray LevelDB.mget(Array keys);

Parametri di chiamata:

  • keys: Array, specifica l'array chiave-valore da interrogare

risultato di ritorno:

  • NArray, restituisce un array contenente valori chiave

set

Impostare i dati del valore della chiave, inserire nuovi dati se il valore della chiave non esiste

1 2
LevelDB.set(Buffer key, Buffer value) async;

Parametri di chiamata:

  • key:Buffer, specifica il valore della chiave da impostare
  • value:Buffer, specifica i dati da impostare

mset

Imposta un set di dati di valore-chiave, se il valore di chiave non esiste, inserisci nuovi dati

1
LevelDB.mset(Object map);

Parametri di chiamata:

  • map: Object, specifica il dizionario dati valore-chiave da impostare

mremove

Elimina un set di valori per una chiave specificata

1
LevelDB.mremove(Array keys);

Parametri di chiamata:

  • keys: Array, specifica l'array chiave-valore da eliminare

remove

Elimina tutti i valori del valore chiave specificato

1
LevelDB.remove(Buffer key) async;

Parametri di chiamata:

  • key:Buffer, specifica il valore della chiave da eliminare

forEach

Enumerare tutte le coppie chiave-valore nel database

1
LevelDB.forEach(Function func);

Parametri di chiamata:

  • func: Funzione, funzione di callback di enumerazione

La funzione di callback ha due parametri, (valore, chiave)

1 2 3 4 5 6
var db = require("db"); var test = new db.openLevelDB("test.db"); test.forEach(function(value, key) { ... });

between

Enumerare le coppie chiave-valore con valore-chiave tra da e a nel database

1 2 3
LevelDB.between(Buffer from, Buffer to, Function func);

Parametri di chiamata:

  • from:Buffer, il valore chiave minimo dell'enumerazione, che è incluso nell'enumerazione
  • to:Buffer, il valore di chiave massimo dell'enumerazione, questo valore di chiave non è incluso nell'enumerazione
  • func: Funzione, funzione di callback di enumerazione

La funzione di callback ha due parametri, (valore, chiave)

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

Avvia una transazione sul database corrente

1
LevelDB LevelDB.begin();

risultato di ritorno:

  • LevelDB, restituisce un oggetto di transazione aperto

commit

Eseguire il commit della transazione corrente

1
LevelDB.commit();

close

Chiude la connessione o la transazione corrente al database

1
LevelDB.close() async;

toString

Restituisce la rappresentazione in stringa dell'oggetto, generalmente restituisce "[Native Object]", l'oggetto può essere reimplementato secondo le proprie caratteristiche

1
String LevelDB.toString();

risultato di ritorno:

  • String, restituisce una rappresentazione in forma di stringa dell'oggetto

toJSON

Restituisce la rappresentazione in formato JSON dell'oggetto, in genere restituisce una raccolta di proprietà leggibili definite dall'oggetto

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

Parametri di chiamata:

  • key: stringa, non utilizzata

risultato di ritorno:

  • Value, che restituisce un valore serializzabile in JSON