Registry / database / multiple-redis

multiple-redis

JSON →
library2.0.0jsnpmunverified

Run redis commands against multiple redis instances for high availability without master/slave or sentinel configuration. Version 2.0.0. Low release cadence. Simplifies production failover by broadcasting commands to multiple independent Redis servers; any read command returns the first successful response. Alternative to Redis Sentinel or cluster setups. Pure Node.js library, wraps the 'redis' package.

npm install multiple-redis
INSTALL
IMPORT
SIG · MULTIPLE-REDIS
M
multiple-redis
databasejavascriptv2.0.0
harness data pending
Install & Compatibility
Where this runs

No compatibility data collected yet for this library.

Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

MultipleRedisClient
import MultipleRedisClient from 'multiple-redis'
const MultipleRedisClient = require('multiple-redis')
ESM-only since v2. Import is default export.
ClientOptions
import type { ClientOptions } from 'multiple-redis'
const ClientOptions = require('multiple-redis').ClientOptions
TypeScript type export, not a runtime value.
MultipleRedisClient
const MultipleRedisClient = require('multiple-redis')
CommonJS require works but deprecated; prefer ESM imports.

Create a MultipleRedisClient with two Redis clients, connect, write and read using the same API as the 'redis' package.

import MultipleRedisClient from 'multiple-redis'; import { createClient } from 'redis'; const clients = [ createClient({ url: process.env.REDIS_URL_1 ?? 'redis://localhost:6379' }), createClient({ url: process.env.REDIS_URL_2 ?? 'redis://localhost:6380' }) ]; const multiredis = new MultipleRedisClient(clients); await multiredis.connect(); // Write – broadcasts SET to all instances await multiredis.set('key', 'value'); // Read – returns first successful GET const value = await multiredis.get('key'); console.log(value); await multiredis.quit();
Debug
Known issues
breakingv2.0.0 drops CommonJS support; imports must use ESM syntax.
fix
Use import MultipleRedisClient from 'multiple-redis' instead of require().
affects: >=2.0.0
deprecatedrequire('multiple-redis') works in v1.x but removed in v2.0.0.
fix
Migrate to ESM import before upgrading to v2.
affects: >=1.0.0 <2.0.0
gotchaWrite commands (SET, DEL, etc.) are sent to all client instances but errors on one client are ignored; only the first successful read reply is used.
fix
Ensure all Redis servers are writable; write success is not guaranteed across all instances.
affects: >=1.0.0
gotchaThe library does NOT handle failover internally; if all clients fail, commands throw an error.
fix
Provide at least one healthy Redis client; consider health checks.
affects: >=1.0.0
Errors
Common errors & fixes
ERR unknown command 'multiple-redis'
Using legacy require syntax in v2.
fix
Use import MultipleRedisClient from 'multiple-redis'.
TypeError: MultipleRedisClient is not a constructor
Default import used as named import.
fix
Use import MultipleRedisClient from 'multiple-redis' (no destructuring).
Upgrade
Version history
2.0.0latest on npm
Audit
Dependencies
redisrequiredpeer dependency – multiple-redis wraps node_redis client
Agent activity
7 hits · last 30 days
node
6
Resources
multiple-redis — npm install multiple-redis · libregistry