Skip to content
This repository was archived by the owner on May 23, 2022. It is now read-only.

Latest commit

 

History

History
96 lines (68 loc) · 2.63 KB

README.md

File metadata and controls

96 lines (68 loc) · 2.63 KB

Camaro Redis

Azure DevOps builds Azure DevOps coverage npm GitHub stars

中文文档说明

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.

Quick Start

Install

npm install @camaro/redis

Usage

// 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'

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 null Password of redis client.
db 0 If set, client will run SELECT command on connect.
reconnection true Whether to reconnect when an error occurs.

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/Sub
  • error: Emitted when a connection error occurs.
  • connect: Emitted when a socket connection is successfully established.

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);    
})