redis集群搭建

来源:互联网 发布:数据产品经理做什么 编辑:程序博客网 时间:2024/05/19 19:34

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的连接池配置类

      JedisPoolConfigconfig = newJedisPoolConfig();

      //设置最大连接数

      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管理 -->

   <beanid="jedisCluster"class="redis.clients.jedis.JedisCluster">

      <!--配置6IP及端口号到构造器 -->

      <constructor-argindex="0">

        <set>

           <beanclass="redis.clients.jedis.HostAndPort">

           <constructor-argindex="0">

                 <value>192.168.25.143</value>

              </constructor-arg>

              <constructor-argindex="1">

                 <value>6379</value>

              </constructor-arg>

           </bean>

           <beanclass="redis.clients.jedis.HostAndPort">

              <constructor-argindex="0">

                 <value>192.168.25.143</value>

              </constructor-arg>

              <constructor-argindex="1">

                 <value>6380</value>

              </constructor-arg>

           </bean>

           <beanclass="redis.clients.jedis.HostAndPort">

              <!-- IP -->

              <constructor-argindex="0">

                 <value>192.168.25.144</value>

              </constructor-arg>

              <!-- port -->

              <constructor-argindex="1">

                 <value>6381</value>

              </constructor-arg>

           </bean>

           <beanclass="redis.clients.jedis.HostAndPort">

              <!-- IP -->

              <constructor-argindex="0">

                 <value>192.168.25.144</value>

              </constructor-arg>

              <!-- port -->

              <constructor-argindex="1">

                 <value>6382</value>

              </constructor-arg>

           </bean>

           <beanclass="redis.clients.jedis.HostAndPort">

              <!-- IP -->

              <constructor-argindex="0">

                 <value>192.168.25.145</value>

              </constructor-arg>

              <!-- port -->

              <constructor-argindex="1">

                 <value>6383</value>

              </constructor-arg>

           </bean>

           <beanclass="redis.clients.jedis.HostAndPort">

              <!-- IP -->

              <constructor-argindex="0">

                 <value>192.168.25.145</value>

              </constructor-arg>

              <!-- port -->

              <constructor-argindex="1">

                 <value>6384</value>

              </constructor-arg>

           </bean>

        </set>

      </constructor-arg>

      <!--连接池的配置类 -->

      <constructor-argindex="1"ref="jedisPoolConfig"/>

   </bean>


原创粉丝点击