redis主从备份

redis主从备份,默认是读写分离的,master用于写,slave用于读。slave的写只能用于存储一些短暂状态的变量,应为在下次同步时,会被移除。

配置主从备份原则:配从不配主,既只需修改从库配置文件。可参考官网介绍:https://redis.io/topics/replication

 

配置主从备份,修改从库配置文件,添加如下指令:

slaveof <masterip> <masterport>

若主库需认证,还需添加如下指令:

masterauth <password>


通常还需修改如下配置,防止命名冲突:
#redis监听端口号
port 6380

#pid文件
pidfile /var/run/redis_6380.pid

#日志文件
logfile "6380.log"

#rbd备份文件
dbfilename dump6380.rdb

#aof备份文件
appendfilename "appendonly6380.aof"

 

此处以一主二从简单介绍下相关步骤:

1、在redis安装目录下创建一目录“conf”,用于存放redis配置文件

  

mkdir conf

 

2、拷贝redis.conf到conf目录下,三个redis实例一人一份

  cp redis.conf conf/redis_6379.conf

  cp redis.conf conf/redis_6380.conf

  cp redis.conf conf/redis_6381.conf

 

安装之前介绍,修改个配置文件相关参数(此处6379为主库,不需添加slaveof指令, 其他两个配置文件 需添加 :slaveof 127.0.0.1 6379)。

3、分别启动三个redis实例:

     

./redis-server ../conf/redis_6379.conf

./redis-server ../conf/redis_6380.conf

./redis-server ../conf/redis_6381.conf

 

到此主从配置完成,可通过客户端程序:redis-cli链接上redis服务器,执行:info replication 查看服务器主从状态。

按照上述配置的主从,实际工作中很少使用,因为主库出异常后,从库将继续保持为slave状态,则会影响程序正常工作。

 

哨兵模式(反客为主):既当master出异常后,进行自动投票,在从库中选择出一个做为master提供服务(当之前的master恢复正常后,将作为该master的slave),其他的从库将作为新选出的master的slave,这样便保证了,mater异常后,不至于影响程序的正常执行。相关配置可参照官网介绍:https://redis.io/topics/sentinel

哨兵模式虽然解决高可用的问题,但未解决数据分区的问题

redis3.0开始,新增了redis cluster(集群)新功能,这样便保证了redis的高可用,同时也解决了数据的分区问题,相关介绍可参考官网介绍:https://redis.io/topics/cluster-tutorial

 

posted @ 2017-08-23 11:17  yinz163diudiu  阅读(390)  评论(0编辑  收藏  举报