jeeng-configs-cache

1.0.4 • Public • Published

Jeeng-configs-cache

This is a helper package for Jeeng application LTD. It's main purpose is to support serverless architecture solutions. Mainly a quick way to efficiently store state and/or config values across serverless function invokations. It uses a Redis database and a postgres database for failover.

It searches the requested value in the following manner:

  1. Search the Redis database for the value (Search for key: <keyPrefix>-valueName)
  2. If found:
    1. Respond with found value
  3. else:
    1. Search postgres database (Search table valuesTable).
    2. If not found:
      1. Respond with null
    3. Else:
      1. Store value in redis (in key: <keyPrefix>-valueName) with TTL of ttl seconds.
      2. Response with found value

Install

npm install --save jeeng-configs-cache

Usage

  1. Import package:
    const ConfigsCache = require('jeeng-configs-cache')

  2. Instanciate a ConfigCache object: const configCache = new ConfigCache(<POSTGRES_CONNECTION_STRING>, <REDIS_CONNECTION_OBJECT>, options)

Where:

  • POSTGRES_CONNECTION_STRING - is a postgres connection string of the format:
    postgres://<user>:<password>@<host>:<port>/<database>
  • REDIS_CONNECTION_OBJECT is an object with connection params as specified in the package promise-redis
  1. Start retrieving values efficiently:
    const someValue = configCache.get('someValue')

Options

option default value description
keyPrefix jeengConfigCache The prefix for stored keys in Redis database.
valuesTable configs Table name where values are stored in postgres database.
Table is of the following structure:
`
ttl 3600 The TTL of stored values in the Redis database

Package Sidebar

Install

npm i jeeng-configs-cache

Weekly Downloads

0

Version

1.0.4

License

ISC

Last publish

Collaborators

  • outsidenote