Skip to content

pasupulaphani/node-cache-redis

Repository files navigation

npm version Build Status Coverage Status Patreon donate button

node-cache-redis See on Github

Simplistic node redis cache ready can scale with generic-pool support

Cache Early; Cache Often

Documentation

Prerequisites

  • node >= 8 This module requires nodejs v8 or later
  • redis >= 4 This module requires redis v4 or above as it has dependencies on UNLINK and redis.replicate_commands() for pattern deletion.

Featuring

  • Works out of the box
  • Easy to scale with low friction during locking and purging
  • Designed for multithread environment
  • Logging can be customized
  • Flexible Expiration: Through configuration, you can set a default expiration mode and time for each layer.
  • Statistics / Counters: Gather statistical information.
  • Modular Design

Migration

4.0.0 contains braking change. See CHANGELOG.md

Getting started

    npm install node-cache-redis

Usage

    const { init, set, get } = require("node-cache-redis");
    init();

    // set
    await set("key", { "hello": "world" })
    const value = await get("key")

API

options object properties

Name Type Description
name string

Name your store

redisOptions object

opts from node_redis#options-object-properties

poolOptions object

opts from node-pool#createpool

logger object

Inject your custom logger

ttlInSeconds number

Default time to live for stored values

Run tests

Using docker
bash test.sh
Run manually
docker run -it -p 6379:6379 redis
npm t
Todo:
  • Serialization: Used to serialize values in distributed scenarios and configuration.
  • Synchronized locking with a semaphore

Contribute

Discover how you can contribute by heading on over to the CONTRIBUTING.md file.

Backers

Maintainers

These amazing people are maintaining this project:

Sponsors

No sponsors yet! Will you be the first?

Patreon donate button Flattr donate button

Contributors

Amazing people who have contributed code to this project:

Feel free to make changes. Please see the Contributors' Guide for more information on contributing to the documentation.