Skip to content

pasupulaphani/node-cache-redis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

b82f440 · Dec 6, 2022
Mar 14, 2021
Jun 28, 2020
Jun 28, 2020
May 23, 2020
Jun 28, 2020
Apr 27, 2021
Nov 11, 2016
May 17, 2020
May 23, 2020
Apr 18, 2022
May 27, 2020
Jun 2, 2020
May 25, 2020
Dec 6, 2022
Apr 27, 2021
May 16, 2020
Feb 6, 2021

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.