client类功能解析
client.h
m_event_base 为libevent loop 的事件循环类
define MAIN_CONNECTION m_connections[0]
client.cpp
client 构造函数初始化
client.cpp Line 55
conn 构造一个新对象
connect()函数
从m_config中读取出服务器ip地址和端口,通过sc->connect(&addr) 连接服务器
sc 为shard_connection*,所以实际调用shard_connection* 的connect函数。
create_request 创建请求
shard_connection.cpp 252行
实际上通过bufferevent_socket_connect 函数连接redis服务端。
- unsigned int m_arbitrary_command_ratio_count; // number of arbitrary commands counter (overlaps on ratio)
- unsigned int m_executed_command_index; // current arbitrary command executed
调用 m_config->arbitrary_commands->get_next_executed_command
根据用户设定读写比例,发送一条set 请求。该请求的key和value由obj生成