ObjectLevelDB
evelDB est un objet d'opération de base de données intégré de fibjs, qui est utilisé pour créer et gérer des objets de dictionnaire sous la forme de paires clé-valeur. À l'aide des objets LevelDB, vous pouvez facilement implémenter le stockage de données, les requêtes, la suppression, l'énumération et d'autres opérations par paire clé-valeur. Il est implémenté sur la base du LevelDB open source de Google et présente les avantages d'efficacité, de fiabilité et d'évolutivité.
Créer un objet LevelDB est très simple, il suffit de passerdb.openLevelDBLa méthode crée un objet de base de données avec un nom spécifié. Par exemple:
1
2var db = require("db");
var test = db.openLevelDB("test.db");
dans,dbest l'objet d'opération de base de données de fibjs, la méthode openLevelDB est utilisée pour ouvrir la base de données leveldb, test.db est le nom de la base de données et la fonction renvoietestL'objet est l'objet qui exploite la base de données.
Les principales opérations prises en charge par les objets LevelDB incluent :
- set(key, value) : Définissez une donnée de valeur clé. Si la valeur clé n'existe pas, insérez de nouvelles données.
- get(key) : interrogez la valeur de la valeur de clé spécifiée.
- has(key) : détermine si la valeur de clé spécifiée existe.
- Remove(key) : supprime toutes les valeurs de la valeur clé spécifiée.
- forEach(func) : Énumérez toutes les paires clé-valeur de la base de données.
- between(from, to, func) : Énumérez les paires clé-valeur dans la base de données avec les valeurs clés entre from et to.
- toJSON(key) : renvoie la représentation au format JSON de l'objet, renvoyant généralement un ensemble d'attributs lisibles définis par l'objet.
- start() : démarre une transaction sur la base de données actuelle.
- commit() : Soumet la transaction en cours.
- close() : ferme la connexion ou la transaction en cours à la base de données.
Par exemple:
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();
Ce qui précède présente l'utilisation de base et des exemples d'objets LevelDB, qui peuvent exploiter de manière pratique et flexible les données de paires clé-valeur. Dans des applications pratiques, il peut être utilisé dans le stockage, la mise en cache, la journalisation et d'autres scénarios pour améliorer l'efficacité de la lecture et de l'écriture des données, simplifier la logique du programme, réduire la complexité du développement, etc.
relation d'héritage
fonction membre
has
Vérifiez si les données avec la valeur de clé spécifiée existent dans la base de données
1Boolean LevelDB.has(Buffer key) async;
Paramètres d'appel :
- key:Buffer, spécifiez la valeur clé à vérifier
Résultats de retour :
- Boolean, renvoie si la valeur clé existe
get
Interroger la valeur de la valeur de clé spécifiée
1Buffer LevelDB.get(Buffer key) async;
Paramètres d'appel :
- key:Buffer, spécifiez la valeur clé à interroger
Résultats de retour :
- Buffer, renvoie la valeur correspondant à la valeur clé, si elle n'existe pas, renvoie null
mget
Interroger la valeur d'un ensemble de valeurs de clé spécifiées
1NArray LevelDB.mget(Array keys);
Paramètres d'appel :
- keys: Array, spécifie le tableau de valeurs clés à interroger
Résultats de retour :
- NArray, renvoie un tableau contenant des valeurs clés
set
Définir une donnée de valeur clé. Si la valeur clé n'existe pas, insérez de nouvelles données.
1
2LevelDB.set(Buffer key,
Buffer value) async;
Paramètres d'appel :
mset
Définissez un ensemble de données de valeur clé. Si la valeur clé n'existe pas, insérez de nouvelles données.
1LevelDB.mset(Object map);
Paramètres d'appel :
- map: Objet, spécifie le dictionnaire de données clé-valeur à définir
mremove
Supprimer un ensemble de valeurs pour une clé spécifiée
1LevelDB.mremove(Array keys);
Paramètres d'appel :
- keys: Array, spécifie le tableau de valeurs clés à supprimer
remove
Supprimer toutes les valeurs de la clé spécifiée
1LevelDB.remove(Buffer key) async;
Paramètres d'appel :
- key:Buffer, spécifiez la valeur clé à supprimer
firstKey
Interroger la plus petite clé
1Buffer LevelDB.firstKey() async;
Résultats de retour :
- Buffer, renvoie la plus petite clé
lastKey
Interroger la plus grande clé
1Buffer LevelDB.lastKey() async;
Résultats de retour :
- Buffer, renvoie la plus grande clé
forEach
Énumérer toutes les paires clé-valeur dans la base de données
1LevelDB.forEach(Function func);
Paramètres d'appel :
- func: Fonction, fonction de rappel d'énumération
La fonction de rappel a deux paramètres (valeur, clé)
1
2
3
4
5
6var db = require("db");
var test = new db.openLevelDB("test.db");
test.forEach(function(value, key) {
...
});
Énumérer toutes les paires clé-valeur dans la base de données
1
2LevelDB.forEach(Buffer from,
Function func);
Paramètres d'appel :
- from:Buffer, la valeur clé minimale de l'énumération, cette valeur clé est incluse lors de l'énumération
- func: Fonction, fonction de rappel d'énumération
La fonction de rappel a deux paramètres (valeur, clé)
1
2
3
4
5
6var db = require("db");
var test = new db.openLevelDB("test.db");
test.forEach("aaa", "bbb", function(value, key) {
...
});
Énumérer toutes les paires clé-valeur dans la base de données
1
2
3LevelDB.forEach(Buffer from,
Buffer to,
Function func);
Paramètres d'appel :
- from:Buffer, la valeur clé minimale de l'énumération, cette valeur clé est incluse lors de l'énumération
- to:Buffer, la valeur clé maximale de l'énumération, cette valeur clé n'est pas incluse dans l'énumération
- func: Fonction, fonction de rappel d'énumération
La fonction de rappel a deux paramètres (valeur, clé)
1
2
3
4
5
6var db = require("db");
var test = new db.openLevelDB("test.db");
test.forEach("aaa", "bbb", function(value, key) {
...
});
Énumérer toutes les paires clé-valeur dans la base de données
1
2LevelDB.forEach(Object opt,
Function func);
Paramètres d'appel :
- opt: Objet, options d'énumération, prend en charge sauter, limiter, inverser
- func: Fonction, fonction de rappel d'énumération
La fonction de rappel a deux paramètres (valeur, clé)
1
2
3
4
5
6var db = require("db");
var test = new db.openLevelDB("test.db");
test.forEach(function(value, key) {
...
});
Énumérer toutes les paires clé-valeur dans la base de données
1
2
3LevelDB.forEach(Buffer from,
Object opt,
Function func);
Paramètres d'appel :
- from:Buffer, la valeur clé minimale de l'énumération, cette valeur clé est incluse lors de l'énumération
- opt: Objet, options d'énumération, prend en charge sauter, limiter, inverser
- func: Fonction, fonction de rappel d'énumération
La fonction de rappel a deux paramètres (valeur, clé)
1
2
3
4
5
6var db = require("db");
var test = new db.openLevelDB("test.db");
test.forEach("aaa", "bbb", function(value, key) {
...
});
Énumérer toutes les paires clé-valeur dans la base de données
1
2
3
4LevelDB.forEach(Buffer from,
Buffer to,
Object opt,
Function func);
Paramètres d'appel :
- from:Buffer, la valeur clé minimale de l'énumération, cette valeur clé est incluse lors de l'énumération
- to:Buffer, la valeur clé maximale de l'énumération, cette valeur clé n'est pas incluse dans l'énumération
- opt: Objet, options d'énumération, prend en charge sauter, limiter, inverser
- func: Fonction, fonction de rappel d'énumération
La fonction de rappel a deux paramètres (valeur, clé)
1
2
3
4
5
6var db = require("db");
var test = new db.openLevelDB("test.db");
test.forEach("aaa", "bbb", function(value, key) {
...
});
begin
Démarrer une transaction sur la base de données actuelle
1LevelDB LevelDB.begin();
Résultats de retour :
- LevelDB, renvoie un objet de transaction ouvert
commit
Soumettre la transaction en cours
1LevelDB.commit();
close
Fermer la connexion ou la transaction actuelle à la base de données
1LevelDB.close() async;
toString
Renvoie la représentation sous forme de chaîne de l'objet. Généralement, "[Native Object]" est renvoyé. L'objet peut être réimplémenté en fonction de ses propres caractéristiques.
1String LevelDB.toString();
Résultats de retour :
- String, renvoie la représentation sous forme de chaîne de l'objet
toJSON
Renvoie une représentation au format JSON de l'objet, renvoyant généralement une collection de propriétés lisibles définies par l'objet.
1Value LevelDB.toJSON(String key = "");
Paramètres d'appel :
- key: Chaîne, non utilisée
Résultats de retour :
- Value, renvoie une valeur contenant du JSON sérialisable