redis的nodejs客户端ioredis初识

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
简介:  转载请注明出处哈:http://carlosfu.iteye.com/blog/2240426    声明: 我是java程序员,对node不是很熟悉,只是写书的需要,要了解一下redis的node客户端,欢迎拍砖。


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


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

    

 一、redis的nodejs客户端

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

  有两个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

    

 

 

 

 

 

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore &nbsp; &nbsp; ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库&nbsp;ECS 实例和一台目标数据库&nbsp;RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&amp;RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
3月前
|
NoSQL Redis C++
VS2017的redis客户端实现
VS2017的redis客户端实现
|
1月前
|
JSON NoSQL Java
【Redis】2、Redis 的 Java 客户端(Jedis 和 SpringDataRedis)
【Redis】2、Redis 的 Java 客户端(Jedis 和 SpringDataRedis)
44 0
|
5月前
|
JSON JavaScript 前端开发
基于promise用于浏览器和node.js的http客户端的axios
基于promise用于浏览器和node.js的http客户端的axios
37 0
|
2月前
|
JavaScript
Node.js【GET/POST请求、http模块、路由、创建客户端、作为中间层、文件系统模块】(二)-全面详解(学习总结---从入门到深化)
Node.js【GET/POST请求、http模块、路由、创建客户端、作为中间层、文件系统模块】(二)-全面详解(学习总结---从入门到深化)
27 0
|
6月前
|
NoSQL 安全 Go
Golang 官方推荐使用的 Redis 客户端 redigo
Golang 官方推荐使用的 Redis 客户端 redigo
118 0
|
3月前
|
JavaScript
Node.js【GET/POST请求、http模块、路由、创建客户端、作为中间层、文件系统模块】(二)-全面详解(学习总结---从入门到深化)(上)
Node.js【GET/POST请求、http模块、路由、创建客户端、作为中间层、文件系统模块】(二)-全面详解(学习总结---从入门到深化)
29 0
|
4月前
|
NoSQL 安全 Java
Redis基础篇:Redis的Java客户端
Redis基础篇:Redis的Java客户端
|
3月前
|
JavaScript
Node.js【GET/POST请求、http模块、路由、创建客户端、作为中间层、文件系统模块】(二)-全面详解(学习总结---从入门到深化)(下)
Node.js【GET/POST请求、http模块、路由、创建客户端、作为中间层、文件系统模块】(二)-全面详解(学习总结---从入门到深化)
25 0
|
27天前
|
NoSQL Redis
Netty实战:模拟Redis的客户端
Netty实战:模拟Redis的客户端
11 0
|
1月前
|
存储 缓存 Dragonfly
微软开抢年收入上亿美元的 Redis 饭碗?开源性能遥遥领先的 Garnet:无需修改,Redis 客户端可直接接入
微软开源了高性能缓存系统Garnet,旨在挑战 Redis 和 Dragonfly。Garnet 基于 .NET8,提供高吞吐量、低延迟和跨平台支持。它支持 RESP 协议,允许大部分 Redis 客户端无缝迁移。Garnet 的特性包括多连接批量处理以提升扩展性和吞吐量,以及更好的延迟稳定性。适合于需要高性能缓存层来降低成本和提高应用性能的场景。Garnet 的集群模式允许动态键迁移和分片管理,且支持 TLS 和自定义扩展。其网络层设计减少了线程切换开销,存储层则具备丰富的 API 和事务支持。在基准测试中,Garnet 在吞吐量和延迟上优于 Redis 和 KeyDB,展现出优秀的扩展性。
283 0
微软开抢年收入上亿美元的 Redis 饭碗?开源性能遥遥领先的 Garnet:无需修改,Redis 客户端可直接接入