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
2var 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
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();
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
1Boolean 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
1Buffer 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
1NArray 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
2LevelDB.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
1LevelDB.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
1LevelDB.mremove(Array keys);
Parametri di chiamata:
- keys: Array, specifica l'array chiave-valore da eliminare
remove
Elimina tutti i valori del valore chiave specificato
1LevelDB.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
1LevelDB.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
6var 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
3LevelDB.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
6var db = require("db");
var test = new db.openLevelDB("test.db");
test.between("aaa", "bbb", function(value, key) {
...
});
begin
Avvia una transazione sul database corrente
1LevelDB LevelDB.begin();
risultato di ritorno:
- LevelDB, restituisce un oggetto di transazione aperto
commit
Eseguire il commit della transazione corrente
1LevelDB.commit();
close
Chiude la connessione o la transazione corrente al database
1LevelDB.close() async;
toString
Restituisce la rappresentazione in stringa dell'oggetto, generalmente restituisce "[Native Object]", l'oggetto può essere reimplementato secondo le proprie caratteristiche
1String 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
1Value LevelDB.toJSON(String key = "");
Parametri di chiamata:
- key: stringa, non utilizzata
risultato di ritorno:
- Value, che restituisce un valore serializzabile in JSON