小寒的blog
Programming is a darned hard thing—but I am going to like it.
posts - 99,  comments - 107,  trackbacks - 0
      redis主从复制配置和使用都非常简单。通过主从复制可以允许多个slave server拥有和master server相同的数据库副本。下面是关于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上配置数据持久化。

下面介绍下主从复制的过程
       当设置好slave服务器后,slave会建立和master的连接,然后发送sync命令。无论是第一次同步建立的连接还是连接断开后的重新连 接,master都会启动一个后台进程,将数据库快照保存到文件中,同时master主进程会开始收集新的写命令并缓存起来。后台进程完成写文件 后,master就发送文件给slave,slave将文件保存到磁盘上,然后加载到内存恢复数据库快照到slave上。接着master就会把缓存的命 令转发给slave。而且后续master收到的写命令都会通过开始建立的连接发送给slave。从master到slave的同步数据的命令和从 client发送的命令使用相同的协议格式。当master和slave的连接断开时slave可以自动重新建立连接。如果master同时收到多个 slave发来的同步连接命令,只会使用启动一个进程来写数据库镜像,然后发送给所有slave。

配置slave服务器很简单,只需要在配置文件中加入如下配置
slaveof 192.168.1.1 6379  #指定master的ip和端口
posted on 2011-02-07 15:47 xhan 阅读(745) 评论(2) 编辑 收藏

FeedBack:
2011-02-10 14:11 | KnightE[未注册用户]
个人经验,主从还是在runtime中设置比较好
 回复 引用   
#2楼[楼主]
2011-02-13 09:07 | xhan      
@KnightE
你的意思是直接发送config set slaveof 命令吧,不太明白那里好。更灵活点是吧?

 回复 引用 查看   
发表评论

昵称: [登录] [注册]

主页:

邮箱:(仅博主可见)

评论内容:

  登录  注册

[使用Ctrl+Enter键快速提交评论]

0 1949660 k30/7E4zZMM=
昵称:xhan
园龄:4年8个月
粉丝:18
关注:2

<2011年2月>
303112345
6789101112
13141516171819
20212223242526
272812345
6789101112

搜索

 

常用链接

最新随笔

我的标签

随笔分类

随笔档案

好友博客

积分与排名

  • 积分 - 39298
  • 排名 - 2733

最新评论

阅读排行榜

评论排行榜

推荐排行榜