Redis 源码分析 - 复制

Posted 大尾巴狼的IT技术博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Redis 源码分析 - 复制相关的知识,希望对你有一定的参考价值。

 

 

Redis 复制源码:

Simple Dynamic String

 

 

使用复制功能,需要设置主备结点,下面的是设置Master结点的代码。

需要指定Master结点的IP地址与Port端口号。

 

这里

 

/* Set replication to the specified master address and port. */
void replicationSetMaster(char *ip, int port) {
    sdsfree(server.masterhost);
    server.masterhost = sdsnew(ip);
    server.masterport = port;
    if (server.master) freeClient(server.master);
    disconnectAllBlockedClients(); /* Clients blocked in master, now slave. */
    disconnectSlaves(); /* Force our slaves to resync with us as well. */
    replicationDiscardCachedMaster(); /* Don‘t try a PSYNC. */
    freeReplicationBacklog(); /* Don‘t allow our chained slaves to PSYNC. */
    cancelReplicationHandshake();
    server.repl_state = REPL_STATE_CONNECT;
    server.master_repl_offset = 0;
    server.repl_down_since = 0;
}

 

以上是关于Redis 源码分析 - 复制的主要内容,如果未能解决你的问题,请参考以下文章

Android 逆向整体加固脱壳 ( DEX 优化流程分析 | DexPrepare.cpp 中 dvmOptimizeDexFile() 方法分析 | /bin/dexopt 源码分析 )(代码片段

Android 事件分发事件分发源码分析 ( Activity 中各层级的事件传递 | Activity -> PhoneWindow -> DecorView -> ViewGroup )(代码片段

redis源码分析-- 基本数据结构双链表list

[源码分析] OpenTracing之跟踪Redis

Redis 6.0 系列 | TLS源码分析

Redis源码分析2:Redis的事件处理模型