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完全关闭时db.on('close')
发射
db.on('drain')
所有put和删除均冲洗到磁盘
麻省理工学院