catbox-redis

API v7.0.x

Installation:

npm: npm install @hapi/catbox-redis

yarn: yarn add @hapi/catbox-redis

new CatboxRedis.Engine(options)

The connection can be specified with one (and only one) of:

  • client - a custom Redis client instance where client must:

    • be manually started and stopped,
    • be compatible with the ioredis module API, and
    • expose the status property that must be set to 'ready' when connected.
  • url - a Redis server URL.

  • socket - a unix socket string.

  • cluster - an array of { host, port } pairs.

Or:

  • host - a Redis server hostname. Defaults to '127.0.0.1' if no other connection method specified from the above.
  • port - a Redis server port or unix domain socket path. Defaults to 6379 if no other connection method specified from the above.

catbox options:

  • partition - a string used to prefix all item keys with. Defaults to ''.

Other supported Redis options:

  • password - the Redis authentication password when required.
  • db - a Redis database name or number.
  • sentinels - an array of { host, port } sentinel address pairs.
  • sentinelName - the name of the sentinel master (when sentinels is specified).
  • tls - an object representing TLS config options for ioredis.

The plugin also accepts other redis options not mentioned above.

Tests

The test suite expects:

  • a redis server to be running on port 6379
  • a redis server listenning to port 6378 and requiring a password: 'secret'
  • a redis cluster contains nodes running on ports 7000 to 7005

See docker-compose.yml

clipboard