Быстрая база данных плоских файлов в процессе node.js, которая поддерживает JSON и кэширует все данные в памяти. Все данные сохраняются в открытом файле с использованием алгоритма только для приложения, обеспечивающего компактные размеры файлов и прочную согласованность.
npm install flat-file-db
Передайте файл базы данных для использования в конструктор Flat-File DB и дождитесь открытия базы данных. Когда он открыт, все данные были загружены в память.
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
} ) ;
} ) ;
Если вы не хотите ждать, пока он откроет, используйте flatfile.sync
var db = flatfile . sync ( '/tmp/my.db' ) ;
console . log ( db . get ( 'hello' ) ) ; // prints {world:1}
Если вы выпустите несколько записей, последний всегда победит
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)
Создайте новый экземпляр DB. По умолчанию FSYNC вызывается во всех путях. Чтобы отключить этот набор opts.fsync = false
db = flatfile.sync(path, opts)
такой же, как выше, за исключением случаев, когда вам не нужно ждать открытого события
db.put(key, val, [cb])
вставить или обновить новый ключ
db.del(key, [cb])
удалить ключ
db.get(key) -> doc
Получите значение ключа
db.has(key) -> bool
true, если у db есть ключ
db.keys() -> list
Получите все ключи в качестве массива
db.clear([cb])
очищает базу данных всех значений
db.close()
закройте базу данных
db.on('open')
уволен, когда БД открыт и готов к использованию.
db.on('close')
уволен, когда БД полностью закрыт
db.on('drain')
все путы и удаления промываются на диск
Грань