今天看到redis集群的日志前面有15:M,18:C
,表示不懂。
查看3.2.6 redis源码发现,在redis\redis-3.2.6\redis-3.2.6\src\server.c
中serverLogRaw
中,在打印日志时,如果是哨兵模式,role_char
为C
,如果没master节点,则为M,slave节点为S
记录日志代码是下面这行。15:M中15表示该节点的pid,M表示该节点为master。18:C表示,该节点的从节点(slave)正在主从复制。18表示什么,我去查了slave的pid,并不是18
fprintf(fp,"%d:%c %s %c %s\n",
(int)getpid(),role_char, buf,c[level],msg);
可以进入容器中查看,该master节点的pid就是15
但是去查看slave实例的pid,发现也是15,并不是18: