Skip to content

bolteu/aedes-persistence-redis

 
 

Repository files navigation

aedes-persistence-redis

.github/workflows/ci.yml Dependencies Status devDependencies Status
Known Vulnerabilities Coverage Status NPM version NPM downloads

Aedes Persistence, backed by Redis.

See aedes-persistence for the full API, and Aedes for usage.

Install

npm install aedes aedes-persistence-redis --save

Upgrade

Please check UPGRADE.md when upgrading from a previous version.

API

aedesPersistenceRedis([opts])

Creates a new instance of aedes-persistence-redis. It takes all the same options of ioredis, which is used internally to connect to Redis.

This constructor creates two connections to Redis.

Example:

aedesPersistenceRedis({
  port: 6379,          // Redis port
  host: '127.0.0.1',   // Redis host
  family: 4,           // 4 (IPv4) or 6 (IPv6)
  password: 'auth',
  db: 0,
  maxSessionDelivery: 100, // maximum offline messages deliverable on client CONNECT, default is 1000
  packetTTL: function (packet) { // offline message TTL, default is disabled
    return 10 //seconds
  }
})

Alternatively, you can pass in an externally created Redis connection using the conn option. This can be useful when connecting to a Redis cluster, for example.

Example:

aedesPersistenceRedis({
  conn: new Redis.Cluster([{
    port: 6379,
    host: '127.0.0.1'
  }, {
    port: 6380,
    host: '127.0.0.1'
  }])
})

The same as above but with cluster option:

aedesPersistenceRedis({
  cluster: [{
    port: 6379,
    host: '127.0.0.1'
  }, {
    port: 6380,
    host: '127.0.0.1'
  }]
})

Changes in v4.x

v4 has changed the subscriptions key schema to enhance performance. Please check related PR for more details.

License

MIT

About

Aedes persistence, backed by redis

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%