Modern implementation of key-value storage
Installation
Node.js 14.0.0 or newer is required
Yarn
yarn add @cacher/cacher
NPM
npm i @cacher/cacher
Example usage
import { Cacher } from '@cacher/cacher';
interface IMyData {
someData: boolean;
}
const cacher = new Cacher<IMyData>({
namespace: 'users'
});
async function run() {
const { 1: user } = await cacher.get({
key: '1',
});
const { user } = await cacher.get({
key: '1',
alias: 'user'
});
const result = await cacher.get([
{ key: '1' },
{ key: '2' },
{ key: '3' },
{ key: '4' }
]);
await cacher.set({
key: '1',
value: {
someData: true
},
});
await cacher.set([
{
key: '1',
value: {
someData: true
},
},
{
key: '2',
value: {
someData: true
},
}
]);
await cacher.increment({
key: '1',
value: 5
});
await cacher.increment([
{
key: '1',
value: 2
},
{
key: '2',
value: 4
}
]);
await cacher.delete('1');
await cacher.delete(['1', '2', '3']);
await cacher.touch({
key: '1',
ttl: 60_000
});
await cacher.touch([
{
key: '1',
ttl: 60_000
},
{
key: '2',
ttl: 60_000
}
]);
await cacher.clear();
}
run().catch(console.log);
Use adapter
import { Cacher } from '@cacher/cacher';
import { RedisAdapter } from '@cacher/redis';
const adapter = new RedisAdapter();
const cacher = new Cacher({
adapter,
namespace: 'users'
});