Redis-3.0.7_初步解析redis-cli

概要

对redis3.0.7内部的一些处理理解不是很清楚,自己根据代码的调用关系,画出了简易的UML图,粒度把握不全,可能有些地方画得不对,请指摘。

今天是从redis client的角度来看redis的。跟一般的CLI工具一样,大体有以下一些处理:

  1. 初始化client的一些配置
  2. 接受传入的参数
  3. 逐个解析参数,跟配置文件不相同的,覆盖conf文件中参数的值
  4. client连接到server端
  5. 根据config.hostscocket来区分最终连接的redis instance:redisConnect OR redisConnectUnix
  6. client退出时,后续的一些资源释放处理

redis-cli UML图

 uml图如下所示,请参照:


个人见解

就与一般的CLI工具相比,redis可以在redis-cli内使用命令的形式来追加conf里一些参数的设置。几乎都是大同小异的,优越的地方,可能自己初次基础,还没有发现,以后这部分再做补充。

疑问:

  1. redis instance实例的连接对象redisConnect OR redisConnectUnix,有什么区别。
  2. redis接受client的操作后,事务的一致性是怎么保证的。


 美好的一天又过去了......


你可能感兴趣的:(redis,数据,it)