Server cache package
npm install @vovan.qqq/server.cache> A server cache package written in Typescript.
``sh`
npm i @vovan.qqq/server.cache
Create a new memory cache.
| Param | Type | Description |
| ----- | ---- | ----------- |
| cleanTimeout | number? | Frequency of checking elements for relevance (ms). Optional, default 5000 ms |
Create a new redis cache.
| Param | Type | Description |
| ----- | ---- | ----------- |
| name | ICache | |
| optionsOrInstance | object | Connect redis options or ioredis instance (see ioredis) |
Create a new cache item.
| Param | Type | Description |
| ----- | ---- | ----------- |
| cache | string | Object implementing the ICache interface (MemoryCache or RedisCache) |
| keyFn | Function | Function for cache key generation |
| expiredIn | number | Key expiration time value (ms) |
`typescript
import {
MemoryCache,
RedisCache,
CacheItem
} from '@vovan.qqq/server.cache';
const mCache = new MemoryCache(5000);
const rCache = new RedisCache('some.cache', {
host : '127.0.0.1',
port : 6379,
username: 'username',
password: 'password'
db : 0
});
const mItem = new CacheItem
mCache,
(foo: string) => cache:key:${foo},
1000 60 5
);
const rItem = new CacheItem<{ key: string; value: number; }>(
rCache,
(opt: { index: number; }) => cache:key:${opt.index},
1000 60 5
);
await mItem.set('foo', 123);
const val1 = await mItem.get('foo');
await mItem.del('foo');
await rItem.set({ index: 1 }, { key: '1234' value: 123 });
const val2 = await rItem.get({ index: 1 });
await rItem.del({ index: 1 });
``
| Name |
| ---------------- |
| Volodymyr Denshchykov |
MIT © Volodymyr Denshchykov