@andrei-markeev/redis
v2.4.3
Published
Redis client for node, support resp3 and redis6. Fork of @camaro/redis.
Downloads
8
Readme
Camaro Redis
This is a fork of @camaro/redis, somewhat maintained (no new features, only bug fixes and security updates). The original project is now archived and is read-only, so no changes are possible.
Redis client for node, support resp2/3, redis6, and all commands of redis.
Features
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.
Quick Start
Install
npm install @andrei-markeev/redis
Usage
// If you want to use resp2 ,change `ClientV3` to `ClientV2`.
const { ClientV3: Client } = require('@andrei-markeev/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'
Client Options
| 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(). |
API Reference
Client.Constructor
The Client
class has a constructor that can pass Options
.
Commands
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 .
Events
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.
Pub/Sub
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);
})