JSONをサポートし、メモリ内のすべてのデータをサポートするnode.jsの高速インプロセスフラットファイルデータベース。すべてのデータは、コンパクトなファイルサイズと強力な一貫性を確保する追加のみのアルゴリズムを使用して、開いたファイルに持続します。
npm install flat-file-db
データベースファイルを渡して、フラットファイル-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}
複数の書き込みを発行した場合、最後の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が完全に閉じられたときに発射されました
db.on('drain')
すべてのプットと削除がディスクにフラッシュされます
mit