Redis主从配置,一主多从。
注意:由于redis吃内存,可能会由于内存过小而无法正常启动redis,可查看 /var/log/message.
配置master:
#默认6379redis.conf在使用
vim /etc/redis_6380.conf
daemon yes
bind ip1 ip2
requirepass fuza-mima
protect-mode yes
datebases 100
logfile /var/log/redis/redis6380.log
dir /var/lib/redis6380 #需手动建立,redis:redis
测试master:
redis-server /etc/redis_6380.conf #启动
redis-cli -h ip -p 6380 #连接
ip:6380>auth fuza-mima #认证
set zhang wonderful
get zhang
SHUTDOWN
配置slave:
vim /etc/redis_6380.conf
daemon yes
bind 127.0.0.1
protect-mode yes
logfile /var/log/redis/redis6380.log
dir /var/lib/redis6380
slaveof <master-ip> <master-port>
masterauth <master-passwd>
slave-read-only yes
slave-priority 100
#master挂掉后,从slave中选出优先级最小的作为master
······
#其他具体主从参数自己配置
测试slave:
redis-server /etc/redis_6380.conf
#因为slave没有设置requirepass,所以直接连接,并且不需要认证
redis-cli -p 6380
127.0.0.1:6380>KEYS *
get zhangbin
SHUTDOWN
注意:
由于Redis只是主从,并不像MongoDB的主从和集群功能。当Redis主挂掉以后,是不可能进行故障转移的。所以也就无法写入,即从库无法更新数据。这点也可以从Redis从的配置文件中看出,连接到Redis主的IP:PORT,并通过主的密码来认证。