转载请注明出处哈
声明:
我是java程序员,对node不是很熟悉,只是写书的需要,要了解一下redis的node客户端,欢迎拍砖。
一、redis的nodejs客户端
去redis的官网看了一下http://redis.io/clients#node,node的客户端如下:
有两个node.js的redis类库是有星的,一个是ioredis,另一个是node_redis
1. ioredis是国内开发者:子骅luin,<>作者开发的,这个版本的客户端功能比较丰富,支持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