Redis 集群配置

主服务器配置

redis.conf部分配置如下,主服务器使用aof方式持久化备份数据

#关闭`redis.conf`中得rdb功能

#save 900 1    #刷新快照到硬盘中,必须满足两者要求才会触发,即900秒之后至少1个关键字发生变化。
#save 300 10   #必须是300秒之后至少10个关键字发生变化。
#save 60 10000 #必须是60秒之后至少10000个关键字发生变化。

#打开并配置aof
appendonly yes
appendfsync everysec #每秒写1次
no-appendfsync-on-rewrite no #为yes,表示rewrite期间对新写操作不fsync,暂时存在内存中,等rewrite完成后再写入,其他线程的数据放内存里,合并写入(速度快,容易丢失的多)
auto-aof-rewrite-percentage 100 #当前aof文件是上次重写是大100%时重写
auto-aof-rewrite-min-size 64mb #aof达到64m大小,进行重写

从服务器1配置

redis默认端口为,主服务器使用6739,所以从服务器使用6780为端口,复制配置文件

cp redis.conf redis6380.conf

redis.conf 配置,从服务器以rdb方式持久化备份数据.

pidfile /var/run/redis6380.pid  #指定pid
port 6380           #指定端口号

#开启并配置rdb功能
dbfilename dump6380.rdb         #指定rdb存储名称
dir dir /usr/local/var/db/redis/    #指定rdb存储路径
save 900 1    #刷新快照到硬盘中,必须满足两者要求才会触发,即900秒之后至少1个关键字发生变化。
save 300 10   #必须是300秒之后至少10个关键字发生变化。
save 60 10000 #必须是60秒之后至少10000个关键字发生变化。

#关闭aof功能
#appendonly no # 是否打开 aof日志功能

slaveof 127.0.0.1 6379          #设置主服务器IP以及端口号  
masterauth 密码               #如果主服务器有密码在这里设置主服务器的密码
slave-read-only yes         #设置从服务器为只读

如果还有其他从服务器,配置文件同上,但是可以选择不做持久化处理,增加redis的性能.

例如主从配置,A为主,B为从,突然A挂了,首先进入B,执行下面命令

save  //执行快照
quit  //退出

把快照文件复制到C,并启动

再次进入B,为B更新主服务器

SLAVEOF host port

ort