Socket
Socket
Sign inDemoInstall

redis-clustr

Package Overview
Dependencies
17
Maintainers
1
Versions
23
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    redis-clustr

Redis cluster client


Version published
Maintainers
1
Install size
108 kB
Created

Readme

Source

redis-clustr

Dependencies Join the chat at https://gitter.im/gosquared/redis-clustr

NPM

This module is a relatively thin wrapper around the node redis client to enable use of Redis Cluster. It tries to be as unobtrusive as possible - mimicing the behaviour of the node_redis client.

Usage

var RedisCluster = require('redis-clustr');

var redis = new RedisCluster({
  servers: [
    {
      host: '127.0.0.1',
      port: 7000
    }
  ]
});

redis.set('key', 'value');

Servers

Servers in the cluster will be automatically connected to (via the response of cluster slots). Of course, to allow discovery there must be at least one server specified in the configuration.

Client creation

By default, clients will be created using Redis.createClient(port, host). This can be overridden by providing a function which must return a node_redis client. Clients are cached so only one connection will be made to each server.

var RedisCluster = require('redis-clustr');
var RedisClient = require('redis');
var redis = new RedisCluster({
  servers: [...],
  createClient: function(port, host) {
    // this is the default behaviour
    return RedisClient.createClient(port, host);
  }
});

Supported functionality/limitations

Slot reallocation

Supported - when a response is given with a MOVED error, we will immediately re-issue the command on the other server and run another cluster slots to get the new slot allocations. ASK redirection is also supported - we wil re-issue the command without updating the slots.

Multi / Exec

Multi commands are supported but treated as a batch of commands (not an actual multi) and the response is recreated in the original order.

Multi-key commands (del, mget)

Multi-key commands are also supported and will split into individual commands then have the response recreated as an array. This means that del will get a response of [ 1, 1 ] when deleting two keys instead of 2.

Keywords

FAQs

Last updated on 28 Aug 2015

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc