您的位置:首页 > 数据库 > Redis

redis集群搭建

2017-06-04 14:47 232 查看

1 redis集群原理



2 搭建redis集群

2.1 redis搭建集群

192.168.25.143:6379

192.168.25.143:6380

192.168.25.144:6381

192.168.25.144:6382

192.168.25.145:6383

192.168.25.145:6384

2.2 redis的安装

Redis 集群管理工具 redis.trib.rb依赖ruby环境,首先需要安装ruby环境

在线安装ruby

yum –y install ruby

yum –y install rubygems

在linux里面执行就ok了

 

安装ruby和 redis的接口程序

gem install redis-3.0.0.gem

2.3 复制redis文件



2.4 删除单机版的数据文件



2.5 修改配置信息

Vim redis.conf



注释去掉

开启集群

2.6 复制redis到其他的服务器

scp -r /usr/redisCluster/ xxxxxx02:/usr/

scp -r /usr/redisCluster/ xxxxxx03:/usr/

scp -r /usr/redisCluster/ xxxxxx04:/usr/

2.6 更改复制后的6个redis服务器的端口号

Bin目录下的redis.conf中进行修改





另外两台服务器上的四个redis端口依次改为6381/6382、6383/6384

2.7 把6个redis服务器关联起来形成集群

依赖redis-trib.rb 脚本,所以一定要安装ruby环境。



cd src/

在src目录下



把所有的redis服务器都启动了然后在src目录下执行下面的脚本

创建集群的脚本

./redis-trib.rb create --replicas 1192.168.25.143:6379 192.168.25.143:6380 192.168.25.144:6381 192.168.25.144:6382192.168.25.145:6383  192.168.25.145:6384

 

选择yes 进行槽位的分配



集群成功



2.8 使用命令连接redis集群



查看你集群信息



查看redis 集群节点



保存数据到redis集群中,在保存数据的时候是根据算法算出槽位,然后再把数据保存到对应的槽位



2.9 java接口操作redis集群

//集群版
redis
   @Test
   publicvoid demo5() {
      //创建jedis的连接池配置类
      JedisPoolConfig
config = new
JedisPoolConfig();
      //设置最大连接数
      config.setMaxTotal(50);
      //节点
      Set<HostAndPort>
hosts = new HashSet<HostAndPort>();
      //配置多个ip和端口
      hosts.add(new HostAndPort("192.168.25.143",6379));
      hosts.add(new HostAndPort("192.168.25.143",6380));
      hosts.add(new HostAndPort("192.168.25.144",6381));
      hosts.add(new HostAndPort("192.168.25.144",6382));
      hosts.add(new HostAndPort("192.168.25.145",6383));
      hosts.add(new HostAndPort("192.168.25.145",6384));
     
      //创建客服端(集群版)
      JedisCluster jedisCluster =
new JedisCluster(hosts,config);
     
      //保存数据
      jedisCluster.set("赵六","aaabbb");
      String
pasd = jedisCluster.get("赵六");
      System.out.println(pasd);
   }

2.10 jedisCluster整合spring

<!--Redis的集群版Java接口配置交由Spring管理
-->
   <bean
id="jedisCluster"class="redis.clients.jedis.JedisCluster">
      <!--
配置6个IP及端口号到构造器 -->
      <constructor-arg
index="0">
        <set>
           <bean
class="redis.clients.jedis.HostAndPort">
           <constructor-arg
index="0">
                 <value>192.168.25.143</value>
              </constructor-arg>
              <constructor-arg
index="1">
                 <value>6379</value>
              </constructor-arg>
           </bean>
           <bean
class="redis.clients.jedis.HostAndPort">
              <constructor-arg
index="0">
                 <value>192.168.25.143</value>
              </constructor-arg>
              <constructor-arg
index="1">
                 <value>6380</value>
              </constructor-arg>
           </bean>
           <bean
class="redis.clients.jedis.HostAndPort">
              <!-- IP -->
              <constructor-arg
index="0">
                 <value>192.168.25.144</value>
              </constructor-arg>
              <!-- port -->
              <constructor-arg
index="1">
                 <value>6381</value>
              </constructor-arg>
           </bean>
           <bean
class="redis.clients.jedis.HostAndPort">
              <!-- IP -->
              <constructor-arg
index="0">
                 <value>192.168.25.144</value>
              </constructor-arg>
              <!-- port -->
              <constructor-arg
index="1">
                 <value>6382</value>
              </constructor-arg>
           </bean>
           <bean
class="redis.clients.jedis.HostAndPort">
              <!-- IP -->
              <constructor-arg
index="0">
                 <value>192.168.25.145</value>
              </constructor-arg>
              <!-- port -->
              <constructor-arg
index="1">
                 <value>6383</value>
              </constructor-arg>
           </bean>
           <bean
class="redis.clients.jedis.HostAndPort">
              <!-- IP -->
              <constructor-arg
index="0">
                 <value>192.168.25.145</value>
              </constructor-arg>
              <!-- port -->
              <constructor-arg
index="1">
                 <value>6384</value>
              </constructor-arg>
           </bean>
        </set>
      </constructor-arg>
      <!--
连接池的配置类 -->
      <constructor-arg
index="1"
ref="jedisPoolConfig"/>
   </bean>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: