Awesome
Node Disk Storage (NDS)
node-disk-storage a simple fast and secure local storage
for nodejs
, you can store any data using key and value, and then your data will be encrypt
to be like this �+�)data|ZGF0YXxqb2huK2RvZV5eXiQwfDFd^^^$0|1
.
Installation
$ npm install node-disk-storage -S or yarn add node-disk-storage -S
API Reference
-
Node Disk Storage Options Property
- minSize limit data size, before saving into disk, default value to 1MB
- maxSize limit data size, before saving into disk, default value to 25MB
-
set(key: string, value: any): Promise<boolean | undefined>
set data using key and value, into disk
-
get(key: string): Promise<any | undefined>
get specific data using key, after saving data into disk
-
key(key: string): Promise<boolean | undefined>
get specific key, after saving data into disk
-
remove(key: string): Promise<boolean | undefined>
remove specific data already exist using key, after saving data into disk
-
clear(): Promise<boolean | undefined>
clear all keys exist, after saving data into disk
-
keys(): Promise<string[] | undefined>
get all keys exist, after saving data into disk
Example Usage
-
Example Usage Using CommonJs With JavaScript
const { NodeDiskStorage } = require('node-disk-storage') const nds = new NodeDiskStorage() ;(async () => { await nds.set('user', { id: 1, name: 'Leanne Graham', username: 'Bret', email: 'Sincere@april.biz', address: { street: 'Kulas Light', suite: 'Apt. 556', city: 'Gwenborough', zipcode: '92998-3874', geo: { lat: '-37.3159', lng: '81.1496' } }, phone: '1-770-736-8031 x56442', website: 'hildegard.org', company: { name: 'Romaguera-Crona', catchPhrase: 'Multi-layered client-server neural-net', bs: 'harness real-time e-markets' } }) await nds.get('user') await nds.key('user') await nds.keys() await nds.remove('user') await nds.clear() })()
-
Example Usage Using CommonJs With JavaScript And Options
const { NodeDiskStorage } = require('node-disk-storage') const nds = new NodeDiskStorage({ minSize: 5, maxSize: 30 }) ;(async () => { await nds.set("user", { id: 1, name: 'Leanne Graham', username: 'Bret', email: 'Sincere@april.biz', address: { street: 'Kulas Light', suite: 'Apt. 556', city: 'Gwenborough', zipcode: '92998-3874', geo: { lat: '-37.3159', lng: '81.1496' } }, phone: '1-770-736-8031 x56442', website: 'hildegard.org', company: { name: 'Romaguera-Crona', catchPhrase: 'Multi-layered client-server neural-net', bs: 'harness real-time e-markets' } }) await nds.get("user") await nds.key('user') await nds.keys() await nds.remove("user") await nds.clear()
-
Example Usage Using ESM With JavaScript
import { NodeDiskStorage } from 'node-disk-storage' const nds = new NodeDiskStorage() ;(async () => { await nds.set("user", { id: 1, name: 'Leanne Graham', username: 'Bret', email: 'Sincere@april.biz', address: { street: 'Kulas Light', suite: 'Apt. 556', city: 'Gwenborough', zipcode: '92998-3874', geo: { lat: '-37.3159', lng: '81.1496' } }, phone: '1-770-736-8031 x56442', website: 'hildegard.org', company: { name: 'Romaguera-Crona', catchPhrase: 'Multi-layered client-server neural-net', bs: 'harness real-time e-markets' } }) await nds.get("user") await nds.key('user') await nds.keys() await nds.remove("user") await nds.clear()
-
Example Usage Using ESM With JavaScript And Options
import { NodeDiskStorage } from 'node-disk-storage' const nds = new NodeDiskStorage({ minSize: 5, maxSize: 30 }) ;(async () => { await nds.set("user", { id: 1, name: 'Leanne Graham', username: 'Bret', email: 'Sincere@april.biz', address: { street: 'Kulas Light', suite: 'Apt. 556', city: 'Gwenborough', zipcode: '92998-3874', geo: { lat: '-37.3159', lng: '81.1496' } }, phone: '1-770-736-8031 x56442', website: 'hildegard.org', company: { name: 'Romaguera-Crona', catchPhrase: 'Multi-layered client-server neural-net', bs: 'harness real-time e-markets' } }) await nds.get("user") await nds.key('user') await nds.keys() await nds.remove("user") await nds.clear()
Testing
-
Testing Via Local
npm test or make test
-
Testing Via Local And Build
make build
-
Testing Via Docker
docker build -t node-disk-storage or make dkb tag=node-disk-storage
Bugs
For information on bugs related to package libraries, please visit here
Contributing
Want to make node-disk-storage more perfect ? Let's contribute and follow the contribution guide.