摘要: int anetTcpConnect(char *err, char *addr, int port);这个函数就是实现TCP连接的,他又会调用static int anetTcpGenericConnect(char *err, char *addr, int port, int flags)来实现真正的TCP连接这个函数里面会anetCreateSocket创建一个socketfd然后connect连接服务器以上TCP连接时阻塞式的int anetTcpNonBlockConnect(char *err, char *addr, int port)是非阻塞式的TCP连接,他在调用anetT 阅读全文
posted @ 2011-05-26 10:25 洛离 阅读(373) 评论(0) 推荐(0)
摘要: 假设你已经安装好了这个开源工具1) vim example.cpp#include<iostream>#include<stdlib.h>//#include<google/profiler.h>#include<stdio.h>using namespace std;void consumeSomeCPUTime1(int input){ int i = 0; input++; while(i++ < 10000){ i--; i++; i--; i++; }};void consumeSomeCPUTime2(int input){ i 阅读全文
posted @ 2011-04-25 16:47 洛离 阅读(2557) 评论(0) 推荐(0)
摘要: Redis Server端initServerConfig()首先初始化配置信息 这个函数里面会设置server的相关信息如:port、dbnum、Command table等 loadServerConfig根据命令行参数设置server的配置文件;并且导入配置文件;根据配置文件设置server的port等信息 redis.c 的main函数里面的initServer会执行如下操作 如果需要配置文件里面配置了后台运行程序,那么就fork一个子进程;然后父进程exit;让子进程运行程序 initServer 阅读全文
posted @ 2011-04-07 20:26 洛离 阅读(176) 评论(0) 推荐(0)
摘要: 参考http://pauladamsmith.com/articles/redis-under-the-hood.html#event-loop-setuphttp://www.yiihsia.com/tag/redis/Redis Server端initServerConfig()首先初始化配置信息 这个函数里面会设置server的相关信息如:port、dbnum、Command table等先创建Command命令的字典server.commands = dictCreate(&commandTableDictType,NULL) populateCommandTable()就是将 阅读全文
posted @ 2011-04-07 20:25 洛离 阅读(806) 评论(0) 推荐(0)