【Redis专题】实现redis的主从复制

   redis主从复制配置和使用都很是简单。能够容许多个slave server,并拥有和master server相同的数据副本。

 一、redis主从复制的过程
    当设置好slave服务器后,slave会创建和master的链接,而后发送sync命令。不管是第一次同步创建的链接仍是链接断开后的从新链接,master都会启动一个后台进程,将数据库快照保存到文件中,同时master主进程会开始收集新的写命令并缓存起来。后台进程完成写文件后,master就发送文件给slave,slave将文件保存到磁盘上,而后加载到内存恢复数据库快照到slave上。接着master就会把缓存的命令转发给slave。并且后续master收到的写命令都会经过开始创建的链接发送给slave。从master到slave的同步数据的命令和从client发送的命令使用相同的协议格式。当master和slave的链接断开时slave能够自动从新创建链接。若是master同时收到多个slave发来的同步链接命令,只会使用启动一个进程来写数据库镜像,而后发送给全部slave。 二、redis主从复制的特色
    1.master能够有多个slave
    2.除了多个slave连到相同的master外,slave也能够链接其余slave造成图状结构
    3.主从复制不会阻塞master。也就是说当一个或多个slave与master进行初次同步数据时,master能够继续处理client发来的请求。相反slave在初次同步数据时则会阻塞不能处理client的请求。
    4.主从复制能够用来提升系统的可伸缩性,咱们能够用多个slave 专门用于client的读请求,好比sort操做可使用slave来处理。也能够用来作简单的数据冗余
    5.能够在master禁用数据持久化,只须要注释掉master 配置文件中的全部save配置,而后只在slave上配置数据持久化。web

     在master/slave上分别安装redis,配置slave服务器很简单,复制master上的配置文件redis.conf到slave目录(/usr/local/webserver/redis-2.4.4/etc/)。
以后在配置文件中添加以下配置便可
slaveof 192.168.52.199 6379   #指定master的ip和端口
#masterauth redis redis

测试:
一、Master端操做:
   [root@lx_web_s1 etc]# /usr/local/webserver/redis-2.4.4/bin/redis-cli -a test
   redis 127.0.0.1:6379> set k_m master
   OK
   redis 127.0.0.1:6379>二、slave端操做:
   [root@study_web_t2 redis-2.4.4]# /usr/local/webserver/redis-2.4.4bin/redis-cli -a test
   redis 127.0.0.1:6379> get k_m
   "master"数据库

    更多相关知识交流,QQ群:24967504
相关文章
相关标签/搜索