redis的nodejs客户端ioredis初识


 转载请注明出处哈:http://carlosfu.iteye.com/blog/2240426

更多Redis的开发、运维、架构以及新动态,欢迎关注微信公众号:

redis的nodejs客户端ioredis初识


 
 声明:
我是java程序员,对node不是很熟悉,只是写书的需要,要了解一下redis的node客户端,欢迎拍砖。

    

 一、redis的nodejs客户端

   去redis的官网看了一下http://redis.io/clients#node,node的客户端如下:

redis的nodejs客户端ioredis初识

  有两个node.js的redis类库是有星的,一个是ioredis,另一个是node_redis

   1. ioredis是国内开发者:子骅luin,<<redis入门指南>>作者开发的,这个版本的客户端功能比较丰富,支持redis-standalone,redis-sentinel, redis-cluster等。

  官网地址:https://github.com/luin/ioredis

   2. node_redis发布时间比较早,社区比较活跃,也比较稳定。但是不支持redis-cluster

  官网地址:https://github.com/NodeRedis/node_redis

   

   所以我们以ioredis为例子作为说明。

 

 二、安装node.js

 1. 前提:

gcc and g++ 4.8 or newer
clang and clang++ 3.4 or newer
Python 2.6 or 2.7
GNU Make 3.81 or newer
   
yum install gcc-c++ openssl-devel
 

  2. 安装:

wget https://nodejs.org/dist/v0.12.4/node-v0.12.4.tar.gz --no-check-certificate
tar -xvf node-v0.12.4.tar.gz
cd node-v0.12.4
./configure
make 
make install
 

 3. 验证:

node -v
#v0.12.4
 

 三、安装ioredis:

npm install ioredis
 

 四、客户端测试:

 1. ioredis连接单机:

var Redis = require('ioredis');
var redis = new Redis(6379, '127.0.0.1');

redis.set('hello', 'node-redis');
redis.get('hello', function (err, result) {
  console.log(result);
});
   输出:
node-redis
   

 2. ioredis连接redis-sentinel:

var Redis = require('ioredis');
var redis = new Redis({
  sentinels: [{ host: 'ip1', port: 26379 }, { host: 'ip2', port: 26380 }, { host: 'ip3', port: 26381 }],
  name: 'mymaster'
});

redis.set('node-sentinel', 'node-sentinel-value');
redis.get('node-sentinel', function (err, result) {
  console.log(result);
});

   输出:

node-sentinel-value

    

 3. ioredis连接redis-cluster:

var Redis = require('ioredis');
var cluster = new Redis.Cluster(
[
{
  port: port1,
  host: 'ip1'
},
{
  port: port2,
  host: 'ip2'
},
{
  port: port3,
  host: 'ip3'
},
{
  port: port4,
  host: 'ip4'
},
{
  port: port5,
  host: 'ip5'
},
{
  port: port6,
  host: 'ip6'
}
]);

cluster.set('node-cluster', 'node-cluster-value');
cluster.get('node-cluster', function (err, res) {
    console.info(res);
});
    

    输出:

node-cluster-value

    

相关推荐