
Security News
Meet Socket at Black Hat and DEF CON 2025 in Las Vegas
Meet Socket at Black Hat & DEF CON 2025 for 1:1s, insider security talks at Allegiant Stadium, and a private dinner with top minds in software supply chain security.
flat-file-db
Advanced tools
Fast in-process flat file database for Node.js that supports JSON and caches all data in memory. All data is persisted to an open file using a append-only algorithm ensuring compact file sizes and strong consistency.
npm install flat-file-db
Pass a database file to use to the flat-file-db constructor and wait for the database to open. When it is open all data has been loaded into memory.
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
});
});
If you don't want to wait for it to open use flatfile.sync
var db = flatfile.sync('/tmp/my.db');
console.log(db.get('hello')); // prints {world:1}
If you issue multiple writes the last one will always win
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)
Create a new db instance. Per default fsync is called on all puts. To disable this set opts.fsync = false
db = flatfile.sync(path, opts)
Same as above except you do not need to wait for the open event
db.put(key, val, [cb])
Insert or update new key
db.del(key, [cb])
Delete a key
db.get(key) -> doc
Get the value of a key
db.has(key) -> bool
True if db has key
db.keys() -> list
Get all keys as an array
db.clear([cb])
Clears the database of all values
db.close()
Close the database
db.on('open')
Fired when the db is open and ready for use.
db.on('close')
Fired when the db is fully closed
db.on('drain')
All puts and deletes are flushed to disk
MIT
FAQs
Fast in-process flat file database that caches all data in memory
The npm package flat-file-db receives a total of 395 weekly downloads. As such, flat-file-db popularity was classified as not popular.
We found that flat-file-db demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Meet Socket at Black Hat & DEF CON 2025 for 1:1s, insider security talks at Allegiant Stadium, and a private dinner with top minds in software supply chain security.
Security News
CAI is a new open source AI framework that automates penetration testing tasks like scanning and exploitation up to 3,600× faster than humans.
Security News
Deno 2.4 brings back bundling, improves dependency updates and telemetry, and makes the runtime more practical for real-world JavaScript projects.