6. Redis-集群搭建(一)

版权声明:本文为博主原创文章,转载请附上本文链接。 https://blog.csdn.net/Willson_L/article/details/82963984

6.1 Redis集群搭建

1. 执行 mkdir redis-cluster 然后在这个目录下创建redis7001、redis7002、redis7003、redis7004、redis7005、redis7006,6个文件夹。模拟6个 redis 节点

2. 把 redis.conf 复制到 /opt/redis-cluster/redis700*目录下面。

cp redis.conf /opt/redis-cluster/redis7001

3. 配置 redis.conf 文件

daemonize yes

port 700*

bind 192.168.136.175 (绑定本机的ip)

dir "/opt/redis-cluster/redis7001"

cluster-enabled yes

cluster-config-file nodes-700*.conf

cluster-node-timeout 15000

appendonly yes

4. 由于安装 redis 集群需要 ruby 命令,安装 ruby 命令

yum install centos-release-scl-rh

yum install rh-ruby23  -y

scl  enable  rh-ruby23 bash

yum install rubygems

gem install redis

5. 启动 redis

接着进入 /opt/redis-3.0.0/src 目录下

./redis-trib.rb create --replicas 1 192.168.136.175:7001 192.168.136.175:7003 192.168.136.175:7005 192.168.136.175:7002 192.168.136.175:7004 192.168.136.175:7006

集群搭建完成!!

进入 redis 中测试

/opt/redis/bin/redis-cli -c -h 192.168.136.175 -p 7001 (-c 表示集群,-h ip, -p端口号)

6.1.1 查看集群的状态信息

1. 查看集群的节点

cluster nodes

2. 查看节点信息

cluster info

6.2 java 连接 redis 集群

public class TestClusterRedis {
	public static void main(String[] args) {
	    Set<HostAndPort> jedisClusterNode = new HashSet<HostAndPort>();
	    jedisClusterNode.add(new HostAndPort("192.168.136.175", 7001));
	    jedisClusterNode.add(new HostAndPort("192.168.136.175", 7002));
	    jedisClusterNode.add(new HostAndPort("192.168.136.175", 7003));
	    jedisClusterNode.add(new HostAndPort("192.168.136.175", 7004));
	    jedisClusterNode.add(new HostAndPort("192.168.136.175", 7005));
	    jedisClusterNode.add(new HostAndPort("192.168.136.175", 7006));
	    JedisPoolConfig cfg = new JedisPoolConfig();
	    cfg.setMaxTotal(100);
	    cfg.setMaxIdle(20);
	    cfg.setMaxWaitMillis(-1);
	    cfg.setTestOnBorrow(true); 
	    JedisCluster jc = new JedisCluster(jedisClusterNode,6000,1000,cfg);	    
	    
	    System.out.println(jc.set("age","20"));
	    System.out.println(jc.set("sex","男"));
	    System.out.println(jc.get("name"));
	    System.out.println(jc.get("name"));
	    System.out.println(jc.get("name"));
	    System.out.println(jc.get("name"));
	    System.out.println(jc.get("name"));
	    System.out.println(jc.get("name"));
	    System.out.println(jc.get("name"));
	    System.out.println(jc.get("name"));
	    System.out.println(jc.get("age"));
	    System.out.println(jc.get("sex"));
	    jc.close();
	}
}

猜你喜欢

转载自blog.csdn.net/Willson_L/article/details/82963984