Base de données de fichiers plats en cours rapide pour Node.js qui prend en charge JSON et cache toutes les données en mémoire. Toutes les données sont persistées en un fichier ouvert à l'aide d'un algorithme APPEND uniquement garantissant des tailles de fichiers compactes et une forte cohérence.
npm install flat-file-db
Passez un fichier de base de données à utiliser au constructeur Flat-File-DB et attendez que la base de données s'ouvre. Lorsqu'il est ouvert, toutes les données ont été chargées en mémoire.
var flatfile = require ( 'flat-file-db' ) ;
var db = flatfile ( '/tmp/my.db' ) ;
db . on ( 'open' , function ( ) {
db . put ( 'hello' , { world : 1 } ) ; // store some data
console . log ( db . get ( 'hello' ) ) // prints {world:1}
db . put ( 'hey' , { world : 2 } , function ( ) {
// 'hey' is now fully persisted
} ) ;
} ) ;
Si vous ne voulez pas attendre qu'il s'ouvre, utilisez flatfile.sync
var db = flatfile . sync ( '/tmp/my.db' ) ;
console . log ( db . get ( 'hello' ) ) ; // prints {world:1}
Si vous émettez plusieurs écritures, le dernier gagnera toujours
for ( var i = 0 ; i < 10 ; i ++ ) {
db . put ( 'test' , { count : i } , ... ) ;
}
console . log ( db . get ( 'test' ) ) ; // {count:9} which also the persisted value of 'test'
db = flatfile(path, opts)
Créez une nouvelle instance DB. Par défaut, FSYNC est appelé tous les put. Pour désactiver cet ensemble opts.fsync = false
db = flatfile.sync(path, opts)
identique à ce qui est ci-dessus, sauf que vous n'avez pas besoin d'attendre l'événement ouvert
db.put(key, val, [cb])
insérer ou mettre à jour une nouvelle clé
db.del(key, [cb])
supprimez une clé
db.get(key) -> doc
obtient la valeur d'une clé
db.has(key) -> bool
true si db a la clé
db.keys() -> list
Obtenez toutes les clés en tant que tableau
db.clear([cb])
efface la base de données de toutes les valeurs
db.close()
Fermez la base de données
db.on('open')
a tiré lorsque la base de données est ouverte et prête à l'emploi.
db.on('close')
tiré lorsque la base de données est complètement fermée
db.on('drain')
Tous les put et les suppressions sont rincées sur le disque
Mit