0.1.2 • Published 6 months ago

@vovan.qqq/server.cache v0.1.2

Weekly downloads
-
License
ISC
Repository
-
Last release
6 months ago

@vovan.qqq/server.cache

A server cache package written in Typescript.

Table of Contents

Install

npm i @vovan.qqq/server.cache

API Reference

new MemoryCache(cleanTimeout)

Create a new memory cache.

ParamTypeDescription
cleanTimeoutnumber?Frequency of checking elements for relevance (ms). Optional, default 5000 ms

new RedisCache(name, optionsOrInstance)

Create a new redis cache.

ParamTypeDescription
nameICache
optionsOrInstanceobjectConnect redis options or ioredis instance (see ioredis)

new CacheItem(cache, keyFn, expiredIn)

Create a new cache item.

ParamTypeDescription
cachestringObject implementing the ICache interface (MemoryCache or RedisCache)
keyFnFunctionFunction for cache key generation
expiredInnumberKey expiration time value (ms)

Examples

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<number>(
  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 });

Contributors

Name
Volodymyr Denshchykov

License

MIT © Volodymyr Denshchykov

0.1.2

6 months ago

0.1.1

7 months ago

0.1.0

9 months ago

0.0.32

11 months ago

0.0.31

11 months ago

0.0.30

12 months ago

0.0.27

1 year ago

0.0.28

1 year ago

0.0.29

1 year ago

0.0.26

1 year ago

0.0.22

1 year ago

0.0.24

1 year ago

0.0.25

1 year ago

0.0.3

1 year ago

0.0.4

1 year ago

0.0.2

1 year ago

0.0.1

1 year ago