首页 > 代码库 > redis 源码学习(复制 Replication)

redis 源码学习(复制 Replication)

redis 复制(Replication)功能,是实现主从数据库。

如果想提高请求效率,可以使用主数据库用于写操作,从数据库用于读操作。并且可以使用一个主,多个从。

redis是个单线程的程序,所有的事件(文件事件和时间事件)都是在一个线程中完成的。没有什么读写锁,可以释放程序的执行效率。从另一个角度来说,单线程只可能在一个CPU里面跑,没有利用多核CPU的处理能力,可以使用主从数据库来解决处理能力问题,并且redis采用I/O多路复用技术来处理高并发请求。


操作

比如主数据库的ip为10.1.1.8 端口为6327
从数据库操作:
./redis-cli
使用命令:SLAVEOF 10.1.1.8 6327
这样就设置好了,可以看从数据库的日志。

原理

首次同步:使用文件(dump.dbf)同步,从数据库加载文件方式同步主数据库
持续同步:采用操作命令同步方式,比如主数据库操作了写操作T1,T2, T3;则把写操作命令T1,T2, T3分发给所有的从数据库,并执行这些命令。

 


redis 源码学习(复制 Replication)