第一、集群的作用:
1、完成了主从备份 防止主机宕机;
2、完成读写分离,分担master的任务;
3、任务分离,如从服分别分担备份工作与计算工作;
redis的集群:
这样分布的好处:当master宕机后,可以直接切换到siave1分支上;
第二、主从通信过程:
原理:当slave启动时,要以master为主机,他会自动连接master成功之后,他俩进行数据同步,在以后就以replicationFeedSlaves的进程来连接;
第三、配置rendis集群:
1、首先复制俩个slave出来
cp redis,conf redis6380.conf
cp redis,conf redis6381.conf
2、进入配置文件中修改以下配置
2.1、主服务器设置,要关闭rdb,当从服务器上开启aof,那么主服务器就不要开启了,反之!
2.2、设置slave1:
2.3、设置slave2,同上设置只读、进程文件和端口:
2.4、重启:
./bin/redis-cli #slave1连接主服务器
./bin/reids-cli -p 6380 #slave2连接slave1
./bin/redis-cli #slave1连接主服务器
./bin/reids-cli -p 6380 #slave2连接slave1
2.5、可以设置连接服务器的密码:
设置密码以后可以用:
auth 加密码连接
2.6、从服务器要设置主服务器密码进行授权,要不然会连接不上从服务器
第四、redis主从复制的缺陷:
每次slave断开以后(无论是主动断开,还是网路故障)再连接master都要将master全部dump出来rdb,在aof,即同步的过程都要重新执行一遍;所以要记住多台slave不要一下都启动起来,否则master可能IO剧增(间隔1-2分)
PHP-redis客户端
http://pecl.php.net/package/redis
编译:
# /usr/local/php/bin/phpize
# ./configure --with-php-config=/usr/local/php/bin/php-config
# make && make install
引入:
vim php.ini
extension=/php/extension/path/redis.so