| Property | Default | Description |
|---|---|---|
| url | redis[s]://[[username][:password]@][host][:port][/db-number] (see redis and rediss IANA registration for more details) |
|
| socket | Socket connection properties. Unlisted net.connect properties (and tls.connect) are also supported |
|
| socket.port | 6379 |
Redis server port |
| socket.host | 'localhost' |
Redis server hostname |
| socket.family | 0 |
IP Stack version (one of 4 | 6 | 0) |
| socket.path | Path to the UNIX Socket | |
| socket.connectTimeout | 5000 |
Connection Timeout (in milliseconds) |
| socket.noDelay | true |
Toggle Nagle's algorithm |
| socket.keepAlive | 5000 |
Toggle keep-alive functionality |
| socket.tls | See explanation and examples below | |
| socket.reconnectStrategy | retries => Math.min(retries * 50, 500) |
A function containing the Reconnect Strategy logic |
| username | ACL username (see ACL guide) | |
| password | ACL password or the old "--requirepass" password | |
| name | Connection name (see CLIENT SETNAME) |
|
| database | Redis database number (see SELECT command) |
|
| modules | Included Redis Modules | |
| scripts | Script definitions (see Lua Scripts) | |
| functions | Function definitions (see Functions) | |
| commandsQueueMaxLength | Maximum length of the client's internal command queue | |
| disableOfflineQueue | false |
Disables offline queuing, see FAQ |
| readonly | false |
Connect in READONLY mode |
| legacyMode | false |
Maintain some backwards compatibility (see the Migration Guide) |
| isolationPoolOptions | See the Isolated Execution Guide |
You can implement a custom reconnect strategy as a function:
- Receives the number of retries attempted so far.
- Returns
number | Error:number: wait time in milliseconds prior to attempting a reconnect.Error: closes the client and flushes internal command queues.
To enable TLS, set socket.tls to true. Below are some basic examples.
For configuration options see tls.connect and tls.createSecureContext, as those are the underlying functions used by this library.
createClient({
socket: {
tls: true,
ca: '...',
cert: '...'
}
});createClient({
socket: {
tls: true,
rejectUnauthorized: false,
cert: '...'
}
});