ObjectLevelDB
evelDB è un oggetto operativo del database integrato di fibjs, che viene utilizzato per creare e gestire oggetti dizionario sotto forma di coppie chiave-valore. Utilizzando gli oggetti LevelDB, puoi facilmente implementare l'archiviazione dei dati, le query, l'eliminazione, l'enumerazione e altre operazioni di dati su coppie chiave-valore. È implementato sulla base del LevelDB open source di Google e presenta i vantaggi di efficienza, affidabilità e scalabilità.
Creare un oggetto LevelDB è molto semplice, basta passarlodb.openLevelDBIl metodo crea un oggetto di database con un nome specificato. Per esempio:
1
2var db = require("db");
var test = db.openLevelDB("test.db");
In,dbè l'oggetto dell'operazione 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 chiave non esiste, inserisci nuovi dati.
- get(key): interroga il valore del valore della chiave specificato.
- has(key): determina se il valore della chiave specificato esiste.
- rimuovi(chiave): 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 nel database con valori chiave compresi tra da e a.
- toJSON(key): restituisce la rappresentazione in formato JSON dell'oggetto, generalmente restituendo un insieme di attributi leggibili definiti dall'oggetto.
- Begin(): avvia una transazione sul database corrente.
- commit(): invia la transazione corrente.
- close(): chiude la connessione o la transazione corrente al database.
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 rappresenta l'utilizzo di base e gli esempi degli oggetti LevelDB, che possono gestire in modo pratico e flessibile i dati delle coppie chiave-valore. Nelle applicazioni pratiche, può essere utilizzato nell'archiviazione, nella memorizzazione nella cache, nella registrazione e in altri scenari per migliorare l'efficienza di lettura e scrittura dei dati, semplificare la logica del programma, ridurre la complessità dello sviluppo, ecc.
rapporto ereditario
funzione membro
has
Controlla se nel database esistono dati con il valore chiave specificato
1Boolean LevelDB.has(Buffer key) async;
Parametri di chiamata:
- key:Buffer, specificare il valore della chiave da verificare
Risultati restituiti:
- Boolean, restituisce se il valore della chiave esiste
get
Interrogare il valore del valore chiave specificato
1Buffer LevelDB.get(Buffer key) async;
Parametri di chiamata:
- key:Buffer, specificare il valore della chiave da interrogare
Risultati restituiti:
- Buffer, restituisce il valore corrispondente al valore della chiave, se non esiste, restituisce null
mget
Interrogare il valore di un insieme di valori chiave specificati
1NArray LevelDB.mget(Array keys);
Parametri di chiamata:
- keys: Array, specifica l'array di valori chiave da interrogare
Risultati restituiti:
- NArray, restituisce un array contenente valori chiave
set
Imposta i dati del valore chiave. Se il valore chiave non esiste, inserisci nuovi dati.
1
2LevelDB.set(Buffer key,
Buffer value) async;
Parametri di chiamata:
- key:Buffer, specificare il valore della chiave da impostare
- value:Buffer, specificare i dati da impostare
mset
Imposta un insieme di dati del valore-chiave. Se il valore della chiave non esiste, inserisci nuovi dati.
1LevelDB.mset(Object map);
Parametri di chiamata:
- map: Oggetto, specifica il dizionario dati chiave-valore da impostare
mremove
Elimina un insieme di valori per una chiave specificata
1LevelDB.mremove(Array keys);
Parametri di chiamata:
- keys: Array, specifica l'array di valori chiave da eliminare
remove
Elimina tutti i valori della chiave specificata
1LevelDB.remove(Buffer key) async;
Parametri di chiamata:
- key:Buffer, specificare il valore della chiave da eliminare
firstKey
Interroga la chiave più piccola
1Buffer LevelDB.firstKey() async;
Risultati restituiti:
- Buffer, restituisce la chiave più piccola
lastKey
Interroga la chiave più grande
1Buffer LevelDB.lastKey() async;
Risultati restituiti:
- Buffer, restituisce la chiave più grande
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) {
...
});
Enumerare tutte le coppie chiave-valore nel database
1
2LevelDB.forEach(Buffer from,
Function func);
Parametri di chiamata:
- from:Buffer, il valore chiave minimo dell'enumerazione, questo valore chiave viene incluso durante l'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.forEach("aaa", "bbb", function(value, key) {
...
});
Enumerare tutte le coppie chiave-valore nel database
1
2
3LevelDB.forEach(Buffer from,
Buffer to,
Function func);
Parametri di chiamata:
- from:Buffer, il valore chiave minimo dell'enumerazione, questo valore chiave viene incluso durante l'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.forEach("aaa", "bbb", function(value, key) {
...
});
Enumerare tutte le coppie chiave-valore nel database
1
2LevelDB.forEach(Object opt,
Function func);
Parametri di chiamata:
- opt: Oggetto, opzioni di enumerazione, supporta salta, limita, inverti
- 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) {
...
});
Enumerare tutte le coppie chiave-valore nel database
1
2
3LevelDB.forEach(Buffer from,
Object opt,
Function func);
Parametri di chiamata:
- from:Buffer, il valore chiave minimo dell'enumerazione, questo valore chiave viene incluso durante l'enumerazione
- opt: Oggetto, opzioni di enumerazione, supporta salta, limita, inverti
- 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("aaa", "bbb", function(value, key) {
...
});
Enumerare tutte le coppie chiave-valore nel database
1
2
3
4LevelDB.forEach(Buffer from,
Buffer to,
Object opt,
Function func);
Parametri di chiamata:
- from:Buffer, il valore chiave minimo dell'enumerazione, questo valore chiave viene incluso durante l'enumerazione
- to:Buffer, il valore di chiave massimo dell'enumerazione, questo valore di chiave non è incluso nell'enumerazione
- opt: Oggetto, opzioni di enumerazione, supporta salta, limita, inverti
- 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("aaa", "bbb", function(value, key) {
...
});
begin
Avvia una transazione sul database corrente
1LevelDB LevelDB.begin();
Risultati restituiti:
- LevelDB, restituisce un oggetto di transazione aperta
commit
Invia la transazione corrente
1LevelDB.commit();
close
Chiude la connessione o transazione corrente al database
1LevelDB.close() async;
toString
Restituisce la rappresentazione in formato stringa dell'oggetto. Generalmente viene restituito "[Oggetto nativo]". L'oggetto può essere reimplementato in base alle proprie caratteristiche.
1String LevelDB.toString();
Risultati restituiti:
- String, restituisce la rappresentazione di stringa dell'oggetto
toJSON
Restituisce una rappresentazione in formato JSON dell'oggetto, generalmente restituendo una raccolta di proprietà leggibili definite dall'oggetto.
1Value LevelDB.toJSON(String key = "");
Parametri di chiamata:
- key: Stringa, non utilizzata
Risultati restituiti:
- Value, restituisce un valore contenente JSON serializzabile