大家在实际项目中用redis时为了达到HA(High available 高可用),通常会采用主从复制作为应对异常的方案之一。
那么redis中如何实现主从复制呢?
首先低版本的redis这里就不介绍了,从redis2.8版本开始(目前最新的redis已经到6.XX版本),使用PSYNC命令来实现复制的同时进行同步操作。
PSYNC命令具有完整重同步(full resynchronization)和部分重同步(part resynchronization)
从服务器第一次请求时,肯定是完整同步,但是第二次,第三次呢?如何判断部分还是全部同步?
这里就涉及到redis的三个重要概念:
①主服务器的复制偏移量
②主服务器的复制缓冲区
补充知识点:
③服务器运行ID
最后补充PSYNC命令的执行过程,也就是redis主从复制的实现原理
是不是so easy ?O(∩_∩)O哈哈~
博客内容截图出自《redis设计与实现》,极力推荐这本书给大家,学习的好资料。