Redis集群

Redis集群支持多主从模式。【参考

redis的安装过程比较简单,只需要下载、解压、运行即可。

下面是在centos6系统中安装并搭建集群的过程:

1.下载redis:
 wget wget http://download.redis.io/releases/redis-5.0.5.tar.gz
 tar -zxvf redis-5.0.5.tar.gz ./

2.编译与安装
 cd redis-5.0.5
 make && make install

3.复杂与配置

因为要做集群,没那么多机器,也不想弄那么多虚拟机,通过修改不同端口来构建多个节点。
 port  6380                                        //端口6380、6381、6382、6383、6384、6385        
 bind 0.0.0.0                                       //默认ip为127.0.0.1 需要改为

 daemonize    yes                               //redis后台运行
 pidfile  /var/run/redis_6380.pid          //pidfile文件对应6380、6381、6382、6383、6384、6385
 cluster-enabled  yes                           //开启集群  把注释#去掉
 cluster-config-file  nodes_6380.conf   //集群的配置  配置文件首次启动自动生成
 cluster-node-timeout  15000                //请求超时  默认15秒,可自行设置
 appendonly  yes 
 
4.启动
./redis-slaver0/src/redis-server ./redis-slaver0/redis.conf
./redis-slaver1/src/redis-server ./redis-slaver1/redis.conf
./redis-slaver2/src/redis-server ./redis-slaver2/redis.conf

.....

5.安装ruby

安装ruby的过程绝非这么简单,如果同yum安装ruby,你会发现版本很低,可能你会通过安装rvm去管理ruby的版本,但是也会有连锁的错误。当然也可以离线安装,但是安装过程也会有很多问题需要解决,总之去试着安一下就知道了。
 yum -y install ruby ruby-devel rubygems rpm-build
 gem install redis

6.启动集群
redis-trib.rb create --replicas 1 192.168.151.128:6380 192.168.151.128:6381 192.168.151.128:6382 192.168.151.128:6383 192.168.151.128:6384 192.168.151.128:6385


注:
 cd /etc/yum/repos.d
  -backup-
 wget http://mirrors.163.com/.help/CentOS6-Base-163.repo 
 yum makecache 

按照上面的方式,如果全部问题解决应该也没问题,但是如果你的redis版本是5*,那么注意,这会变得非常简单,因为启动集群命令变成了这样,不用去安装繁琐的ruby依赖了

redis-client create --replicas 1 192.168.151.128:6380 192.168.151.128:6381 192.168.151.128:6382 192.168.151.128:6383 192.168.151.128:6384 192.168.151.128:6385

启动成功后如下:

2651a2dda3f62afe25939e5cf18ec8e9144.jpg

如何手动指定主从?

启动时

redis-client create --replicas 0 192.168.151.128:6380 192.168.151.128:6381 192.168.151.128:6382

redis-cli --cluster add-node 192.168.151.128:6383 192.168.151.128:6380 --cluster-slave --cluster-master-id <上面启动后的id>

客户端连接:

通过jedis连接:

JedisPoolConfig poolConfig = new JedisPoolConfig();
// 最大连接数
poolConfig.setMaxTotal(2);
// 最大空闲数
poolConfig.setMaxIdle(2);
// 最大允许等待时间
poolConfig.setMaxWaitMillis(1000);

Set<HostAndPort> nodes = new HashSet<>();
nodes.add(new HostAndPort("localhost",6380));
nodes.add(new HostAndPort("localhost",6381));
// ....
JedisCluster jedisCluster = new JedisCluster(nodes,poolConfig);

 

转载于:https://my.oschina.net/suspring/blog/3091572

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值