视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
Redis学习总结之主从复制
2020-11-09 11:24:15 责编:小采
文档


redis的主从复制配置相当的简单,只需要两句话,通过主从复制可以允许多个slave server拥有和master server相同的数据库副本。这

redis的主从复制配置相当的简单,只需要两句话,,通过主从复制可以允许多个slave server拥有和master server相同的数据库副本。

这样做的好处就是可以提升IO的速率,并且主从通信的效率超高,按照自己的理解是这样的,在配置文件中可以看到允许主从通信的,这样就是master会启动一个后台进程,将数据快照保存到文件中,同时还会有进程来收集新写入master的命令,然后又master发给slave,而slave则是将文件持久化到磁盘后,在加载到内存中去。

这里在做实验的时候,我是直接在slave中配置的:

然后启动slave的server,进行查看的时候就已经可以看到master中存放的所有数据项了,接着又查看了日志文件: 感觉是slave启动后,主动地去跟master联系,主动地拉数据,就好像mysql中的主从复制一样,一个IO thread去找master的binlog日志文件,然后写自己的binlog日志。然后在sql thread去写磁盘。这里就是我刚启动slave server,master server这里就有反映了。

这里我仔细看了下日志文件,发现一个现象就是master会隔5秒的时间去找一下看有没有动作或是连接,这里我在master的客户端删除了一个数据日志文件是这样的:

大家看很清楚的,就是每5秒检测一次,在检测到19:53:59发现我删除了一条数据,可是之前就已经有连接,然后我又看一下后面的情况,发现到了19:59:59时候又是0连接,也就是说不管从库主库有什么动作,它都会发起连接的动作,保证数据的一致性。并且连接时间能在5分钟左右,没有动作就自动断开。这里我们在做一个实验:

我在从库里增加删除一条数据看看主库log和从库log的变化情况:

在从库里面增加删除一条数据主库是没有变化的,连接也没有,对,好像就是这样的原理,这里是从库的变化情况:

很多不明白的地方,好好研究下这个原理

更多关于Redis的详细信息,或者下载地址请点这里

下载本文
显示全文
专题