在哨兵模式中,仍然只有一个Master节点。当并发写请求较大时,哨兵模式并不能缓解写压力。
我们知道只有主节点才具有写能力,那如果在一个集群中,能够配置多个主节点,是不是就可以缓解写压力了呢?
答:是的。这个就是redis-cluster集群模式。
个人理解 集群的理念
集群 生成会变成多个主从服务, 可以多个主去写 当主挂掉后 从就变成主 (可长一主好几个从)
写入主要在主服务器上面
php 连接集群不用去考虑里面具体的主从 只需要连接就可以(内部帮你实现)
yum install ruby
yum -y install rubygems
1. 服务器
redis 主 7001
redis 主 7002
redis 主 7003
redis 从 7004
redis 从 7005
redis 从 7006
2. 配置文件
7001 7002 7003 7004 7005 7006
port 7001
pidfile /zyc/redis_sentry/jiqun/pid/redis_7001.pid
logfile "/zyc/redis_sentry/jiqun/log/redis_7001.log"
dir /zyc/redis_sentry/jiqun/dir/7001
cluster-enabled yes
port 7002
pidfile /zyc/redis_sentry/jiqun/pid/redis_7002.pid
logfile "/zyc/redis_sentry/jiqun/log/redis_7002.log"
dir /zyc/redis_sentry/jiqun/dir/7002
cluster-enabled yes
port 7003
pidfile /zyc/redis_sentry/jiqun/pid/redis_7003.pid
logfile "/zyc/redis_sentry/jiqun/log/redis_7003.log"
dir /zyc/redis_sentry/jiqun/dir/7003
cluster-enabled yes
port 7004
pidfile /zyc/redis_sentry/jiqun/pid/redis_7004.pid
logfile "/zyc/redis_sentry/jiqun/log/redis_7004.log"
dir /zyc/redis_sentry/jiqun/dir/7004
cluster-enabled yes
port 7005
pidfile /zyc/redis_sentry/jiqun/pid/redis_7005.pid
logfile "/zyc/redis_sentry/jiqun/log/redis_7005.log"
dir /zyc/redis_sentry/jiqun/dir/7005
cluster-enabled yes
port 7006
pidfile /zyc/redis_sentry/jiqun/pid/redis_7006.pid
logfile "/zyc/redis_sentry/jiqun/log/redis_7006.log"
dir /zyc/redis_sentry/jiqun/dir/7006
cluster-enabled yes
/www/server/redis/src/redis-server /zyc/redis_sentry/jiqun/conf/redis_7001.conf &
/www/server/redis/src/redis-server /zyc/redis_sentry/jiqun/conf/redis_7002.conf &
/www/server/redis/src/redis-server /zyc/redis_sentry/jiqun/conf/redis_7003.conf &
/www/server/redis/src/redis-server /zyc/redis_sentry/jiqun/conf/redis_7004.conf &
/www/server/redis/src/redis-server /zyc/redis_sentry/jiqun/conf/redis_7005.conf &
/www/server/redis/src/redis-server /zyc/redis_sentry/jiqun/conf/redis_7006.conf &
/www/server/redis/src/redis-cli --cluster create 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 127.0.0.1:7006 --cluster-replicas 1
命令的意义如下:
create , 这表示我们希望创建一个新的集群。
选项 --replicas 1 表示我们希望为集群中的每个主节点创建一个从节点。
之后跟着的其他参数则是实例的地址列表, 我们希望程序使用这些地址所指示的实例来创建新集群。
<?php
$servers = array(
'127.0.0.1:7001',
'127.0.0.1:7002',
'127.0.0.1:7003',
'127.0.0.1:7004',
'127.0.0.1:7005',
'127.0.0.1:7006',
);
$redis=new RedisCluster(NUll,$servers);
for ($i=0;$i<10;$i++){
$redis->set("aaa".$i,$i);
}