2.3.0 • Published 3 years ago
kvs v2.3.0
kvs
Simple key-value store facade for node.
Installation
$ npm install kvs
Methods
set(key, val)
get(key)
del(key)
getset(key, value)
getdel(key)
keys()
clear()
Usage
Classic usage
const {Store} = require('kvs');
const TTL = 100;
const store = Store.create('memory');
(async () => {
const bucket1 = store.bucket({ttl: TTL /*seconds*/});
// const memoryBucket = await memoryStore.createBucket({max: 100, ttl: 10/*seconds*/});
await bucket1.set('foo', 'bar');
let result = await bucket1.get('foo');
console.log(result);
await bucket1.del('foo');
const userId = 123;
const key = '#' + userId; // for test if key is not the parameter (user_id) to load.
// Using namespace "user"
const bucket2 = store.bucket('user', {
ttl: TTL /*seconds*/,
// method to load a thing if it's not in the bucket.
load: loadUser,
});
// `user_id` is the parameter used to load.
// if no parameter is specified for loading, the `key` will be used.
let user = await bucket2.get(key, userId);
console.log(user);
// Second time fetches user from bucket2
user = await bucket2.get(key, userId);
console.log(user);
// Outputs:
// Returning user from slow database.
// { id: 123, name: 'Bob' }
// { id: 123, name: 'Bob' }
await store.close();
})();
async function loadUser(id) {
await new Promise(resolve => setTimeout(resolve, 100));
console.log('Returning user from slow database.');
return {id: id, name: 'Bob'};
}
// Outputs:
// bar
// Returning user from slow database.
// { id: 123, name: 'Bob' }
// { id: 123, name: 'Bob' }
With typings
import {Store} from 'kvs';
interface Settings {
name: string;
ttl: number;
}
async () => {
const store = new Store('memory');
const bucket = store.bucket<Settings>('settings');
await bucket.set('name', 'foo');
await bucket.set('ttl', '3600');
console.log(await bucket.get('name'));
// => foo
console.log(await bucket.get('ttl'));
// => 3600
};
Tests
$ npm test
License
kvs
is licensed under the MIT license.
2.3.0
3 years ago
2.2.2
4 years ago
2.2.1
5 years ago
2.2.0
5 years ago
2.1.0
5 years ago
2.0.8
5 years ago
2.0.7
5 years ago
2.0.6
5 years ago
2.0.5
5 years ago
2.0.3
5 years ago
2.0.4
5 years ago
2.0.2
5 years ago
2.0.1
5 years ago
2.0.0
5 years ago
1.0.2
6 years ago
1.0.1
6 years ago
1.0.0
6 years ago
0.3.3
7 years ago
0.3.2
7 years ago
0.3.1
7 years ago
0.3.0
7 years ago
0.2.0
8 years ago
0.1.8
9 years ago
0.1.7
10 years ago
0.1.6
10 years ago
0.1.5
10 years ago
0.1.3
10 years ago
0.1.2
10 years ago
0.1.1
10 years ago
0.1.0
10 years ago
0.0.1-4
12 years ago
0.0.1-3
12 years ago
0.0.1-2
12 years ago