ObjectLevelDB
evelDB is een ingebouwd databasebewerkingsobject van fibjs, dat wordt gebruikt om woordenboekobjecten te maken en te beheren in de vorm van sleutelwaardeparen. Met behulp van LevelDB-objecten kunt u eenvoudig gegevensopslag, query's, verwijdering, opsomming en andere bewerkingen van sleutel-waardeparen implementeren. Het is geïmplementeerd op basis van Google's open source LevelDB en heeft de voordelen van efficiëntie, betrouwbaarheid en schaalbaarheid.
Het maken van een LevelDB-object is heel eenvoudig, u hoeft het alleen maar door te gevendb.openLevelDBMethode maakt een databaseobject met een opgegeven naam. Bijvoorbeeld:
1
2var db = require("db");
var test = db.openLevelDB("test.db");
in,dbis het databasebewerkingsobject van fibjs, de openLevelDB-methode wordt gebruikt om de leveldb-database te openen, test.db is de databasenaam en de functie retourneerttestHet object is het object dat de database beheert.
De belangrijkste bewerkingen die door LevelDB-objecten worden ondersteund, zijn onder meer:
- set(key, value): Stel een sleutelwaardegegevens in. Als de sleutelwaarde niet bestaat, voegt u nieuwe gegevens in.
- get(key): Vraag de waarde van de opgegeven sleutelwaarde op.
- has(key): Bepaal of de opgegeven sleutelwaarde bestaat.
- remove(key): Verwijder alle waarden van de opgegeven sleutelwaarde.
- forEach(func): Inventariseer alle sleutel-waardeparen in de database.
- between(from, to, func): Opsomming van sleutelwaardeparen in de database met sleutelwaarden tussen from en to.
- toJSON(key): Retourneert de weergave in JSON-indeling van het object, waarbij doorgaans een reeks leesbare kenmerken wordt geretourneerd die door het object zijn gedefinieerd.
- begin(): Start een transactie op de huidige database.
- commit(): Dien de huidige transactie in.
- close(): Sluit de huidige databaseverbinding of transactie.
Bijvoorbeeld:
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();
Hierboven vindt u het basisgebruik en voorbeelden van LevelDB-objecten, die op gemakkelijke en flexibele wijze sleutel-waardepaargegevens kunnen gebruiken. In praktische toepassingen kan het worden gebruikt bij opslag, caching, loggen en andere scenario's om de efficiëntie van het lezen en schrijven van gegevens te verbeteren, de programmalogica te vereenvoudigen, de complexiteit van de ontwikkeling te verminderen, enz.
erfenis relatie
lid functie
has
Controleer of er gegevens met de opgegeven sleutelwaarde in de database voorkomen
1Boolean LevelDB.has(Buffer key) async;
Oproepparameters:
- key:Buffer, geef de sleutelwaarde op die moet worden gecontroleerd
Resultaten retourneren:
- Boolean, geeft terug of de sleutelwaarde bestaat
get
Vraag de waarde van de opgegeven sleutelwaarde op
1Buffer LevelDB.get(Buffer key) async;
Oproepparameters:
- key:Buffer, geef de sleutelwaarde op die moet worden opgevraagd
Resultaten retourneren:
- Buffer, retourneert de waarde die overeenkomt met de sleutelwaarde. Als deze niet bestaat, wordt null geretourneerd
mget
Query's uitvoeren op de waarde van een reeks opgegeven sleutelwaarden
1NArray LevelDB.mget(Array keys);
Oproepparameters:
- keys: Array, specificeert de sleutelwaardearray die moet worden opgevraagd
Resultaten retourneren:
- NArray, retourneert een array met sleutelwaarden
set
Stel een sleutelwaardegegevens in. Als de sleutelwaarde niet bestaat, voegt u nieuwe gegevens in.
1
2LevelDB.set(Buffer key,
Buffer value) async;
Oproepparameters:
- key:Buffer, geef de sleutelwaarde op die moet worden ingesteld
- value:Buffer, geef de gegevens op die moeten worden ingesteld
mset
Stel een set sleutelwaardegegevens in. Als de sleutelwaarde niet bestaat, voegt u nieuwe gegevens in.
1LevelDB.mset(Object map);
Oproepparameters:
- map: Object, specificeert de sleutel/waarde-datawoordenlijst die moet worden ingesteld
mremove
Verwijder een reeks waarden voor een opgegeven sleutel
1LevelDB.mremove(Array keys);
Oproepparameters:
- keys: Array, specificeert de sleutelwaardearray die moet worden verwijderd
remove
Verwijder alle waarden van de opgegeven sleutel
1LevelDB.remove(Buffer key) async;
Oproepparameters:
- key:Buffer, geef de sleutelwaarde op die moet worden verwijderd
firstKey
Vraag de kleinste sleutel op
1Buffer LevelDB.firstKey() async;
Resultaten retourneren:
- Buffer, retourneert de kleinste sleutel
lastKey
Vraag de grootste sleutel op
1Buffer LevelDB.lastKey() async;
Resultaten retourneren:
- Buffer, retourneert de grootste sleutel
forEach
Inventariseer alle sleutel-waardeparen in de database
1LevelDB.forEach(Function func);
Oproepparameters:
- func: Functie, opsommings-callback-functie
De callback-functie heeft twee parameters (waarde, sleutel)
1
2
3
4
5
6var db = require("db");
var test = new db.openLevelDB("test.db");
test.forEach(function(value, key) {
...
});
Inventariseer alle sleutel-waardeparen in de database
1
2LevelDB.forEach(Buffer from,
Function func);
Oproepparameters:
- from:Buffer, de minimale sleutelwaarde van de opsomming, deze sleutelwaarde wordt meegenomen tijdens de opsomming
- func: Functie, opsommings-callback-functie
De callback-functie heeft twee parameters (waarde, sleutel)
1
2
3
4
5
6var db = require("db");
var test = new db.openLevelDB("test.db");
test.forEach("aaa", "bbb", function(value, key) {
...
});
Inventariseer alle sleutel-waardeparen in de database
1
2
3LevelDB.forEach(Buffer from,
Buffer to,
Function func);
Oproepparameters:
- from:Buffer, de minimale sleutelwaarde van de opsomming, deze sleutelwaarde wordt meegenomen tijdens de opsomming
- to:Buffer, de maximale sleutelwaarde van de opsomming, deze sleutelwaarde wordt niet opgenomen in de opsomming
- func: Functie, opsommings-callback-functie
De callback-functie heeft twee parameters (waarde, sleutel)
1
2
3
4
5
6var db = require("db");
var test = new db.openLevelDB("test.db");
test.forEach("aaa", "bbb", function(value, key) {
...
});
Inventariseer alle sleutel-waardeparen in de database
1
2LevelDB.forEach(Object opt,
Function func);
Oproepparameters:
- opt: Object, opsommingsopties, ondersteunt overslaan, beperken, omkeren
- func: Functie, opsommings-callback-functie
De callback-functie heeft twee parameters (waarde, sleutel)
1
2
3
4
5
6var db = require("db");
var test = new db.openLevelDB("test.db");
test.forEach(function(value, key) {
...
});
Inventariseer alle sleutel-waardeparen in de database
1
2
3LevelDB.forEach(Buffer from,
Object opt,
Function func);
Oproepparameters:
- from:Buffer, de minimale sleutelwaarde van de opsomming, deze sleutelwaarde wordt meegenomen tijdens de opsomming
- opt: Object, opsommingsopties, ondersteunt overslaan, beperken, omkeren
- func: Functie, opsommings-callback-functie
De callback-functie heeft twee parameters (waarde, sleutel)
1
2
3
4
5
6var db = require("db");
var test = new db.openLevelDB("test.db");
test.forEach("aaa", "bbb", function(value, key) {
...
});
Inventariseer alle sleutel-waardeparen in de database
1
2
3
4LevelDB.forEach(Buffer from,
Buffer to,
Object opt,
Function func);
Oproepparameters:
- from:Buffer, de minimale sleutelwaarde van de opsomming, deze sleutelwaarde wordt meegenomen tijdens de opsomming
- to:Buffer, de maximale sleutelwaarde van de opsomming, deze sleutelwaarde wordt niet opgenomen in de opsomming
- opt: Object, opsommingsopties, ondersteunt overslaan, beperken, omkeren
- func: Functie, opsommings-callback-functie
De callback-functie heeft twee parameters (waarde, sleutel)
1
2
3
4
5
6var db = require("db");
var test = new db.openLevelDB("test.db");
test.forEach("aaa", "bbb", function(value, key) {
...
});
begin
Start een transactie op de huidige database
1LevelDB LevelDB.begin();
Resultaten retourneren:
- LevelDB, retourneert een open transactieobject
commit
Huidige transactie indienen
1LevelDB.commit();
close
Sluit de huidige databaseverbinding of transactie
1LevelDB.close() async;
toString
Retourneert de tekenreeksweergave van het object. Over het algemeen wordt '[Native Object]' geretourneerd. Het object kan opnieuw worden geïmplementeerd op basis van zijn eigen kenmerken.
1String LevelDB.toString();
Resultaten retourneren:
- String, retourneert de tekenreeksrepresentatie van het object
toJSON
Retourneert een weergave in JSON-indeling van het object, waarbij doorgaans een verzameling leesbare eigenschappen wordt geretourneerd die door het object zijn gedefinieerd.
1Value LevelDB.toJSON(String key = "");
Oproepparameters:
- key: Tekenreeks, niet gebruikt
Resultaten retourneren:
- Value, retourneert een waarde die JSON-serialiseerbaar bevat