4.0.1 • Published 6 years ago

@dnode/cache v4.0.1

Weekly downloads
1
License
MIT
Repository
github
Last release
6 years ago

dependencies | 0 | 0

Usage

const cache = require('@dnode/cache')(client);

const value = await cache(
  'key',
  async () => 'value'
);

If the client supports setJSON() and getJSON() (e.g. @dnode/redis) it will be used to encode/decode the values.

const cache = require('@dnode/cache')(client);

const value = await cache(
  'key',
  async () => ({ example: 'example' })
);

Expire

An expire (in seconds) can be passed to automatically remove the value from the cache after certain time.

const cache = require('@dnode/cache')(client);

const value = await cache(
  'key',
  async () => 'value',
  1 * 60 * 60
);

If the expire is an object supporting asSeconds() (e.g. @dnode/duration or moment.duration) it will be used.

const cache = require('@dnode/cache')(client);
const duration = require('@dnode/duration');

const value = await cache(
  'key',
  async () => 'value',
  duration('1h')
);

Invalidate

The invalidate will be called after getting the value from the cache and can, if return true, force to get a new value.

const cache = require('@dnode/cache')(client);

const value = await cache(
  'key',
  async () => 'value',
  { invalidate: value => value.invalid }
);

Refresh

If refresh is true, the expire will always be refreshed if the key is available and the value is valid.

const cache = require('@dnode/cache')(client);

const value = await cache(
  'key',
  async () => 'value',
  { refresh: true }
);
4.0.1

6 years ago

4.0.0

6 years ago

3.0.2

6 years ago

3.0.1

6 years ago

2.2.1

6 years ago

2.2.0

6 years ago

2.1.0

6 years ago

2.0.2

6 years ago

2.0.1

6 years ago

2.0.0

6 years ago

1.2.2

6 years ago

1.2.1

6 years ago

1.2.0

7 years ago

1.1.0

7 years ago