500,000+ 1.1M ops/s.
A fast, in-memory document-oriented datastore for node.js, browser and cordova
In-memory Javascript Datastore with Persistence
What is LokiJS?
- In-Browser NoSQL db with syncing and persisting
- a Redis-style store an npm install away
- Persistable NoSQL db for Cordova
- Embeddable NoSQL db with Persistence for node-webkit
LokiJS is an in-memory database which prioritises performance over everything *
LokiJS supports field indexing for faster document access and performs really well (near 500,000 ops/s on an average dev machine) on those. Its built-in DynamicView class also enables to utilize indexes on data subsets for even faster performance.
DynamicView has the very handy feature of detecting changes in the database and recomputing itself to contain the most up-to-date data, and data is always readily available through the data()
method.
* read this to get an idea of LokiJS's performance.
Among the features that make LokiJS attractive are:
- Fast Performance
- Replaces SQLite in Cordova, works as a session store in node.js, works an in-browser database with syncing capabilities
- Indexing / Secondary Indexing / Unique Indexing
- The "Dynamic View", a kind of "live filter"
- Resultset with Fluent API
- Persistence Adapters (with a built-in IndexedDB and node.js FS adapter)
- Optional periodic autosave
- changes API
- Compound sort for sorting on multiple columns
- Insert class instances and deserialize/ inflate objects into class instances
- partial compatibility with MongoDB API
- RethinkDB-style Joins