Redis client for node, support resp2/3, redis6, and all commands of redis.
The first redis client to support resp3 .
- All commands of redis support.
- All command results return promise.
- Support for ES6 types, such as Map and Set.
- Support for TLS.
npm install @camaro/redis
// If you want to use resp2 ,change `ClientV3` to `ClientV2`.
const { ClientV3: Client } = require('@camaro/redis')
const client = new Client();
client.SET('foo', 'foo').then(() => {
return client.GET('foo')
}).then(reply => {
console.log(reply) // 'foo'
})
// Or if you want to use async/await.
await client.SET('bar', 'bar')
const reply = await client.GET('bar')
console.log(reply) // 'bar'
Option | Default | Description |
---|---|---|
host | 127.0.0.1 | IP address of the redis server. |
port | 6379 | Port of the redis server. |
username | default | Username of redis client. |
password | undefined | Password of redis client. |
db | 0 | If set, client will run SELECT command on connect. |
reconnection | true | Whether to reconnect when an error occurs. |
logger | undefined | Provide a callback function to process commands log. |
tls | undefined | Object passed as options to tls.connect(). |
The Client
class has a constructor that can pass Options
.
All redis command can be used like this:
const client = new Client();
client.SET(...args);
client.GET(...args);
// ... other commands
See the complete command list: https://redis.io/commands .
message
: See Pub/Suberror
: Emitted when a error occurs.connect
: Emitted when the client is established. Commands issued before theconnect
event are queued, then replayed just before this event is emitted.
You can receive pub/sub
message by message
event and handle it in the callback function.
If you are using the resp2, you need to create a new client to receive messages.
const client = new Client();
client.SUBSCRIBE('test');
client.on('message', (data)=>{
// data: ['message','somechannel','this is the message']
console.log(data);
})