memcache源码阅读之mac环境下编译
2020-07-18 本文已影响0人
golang推广大使
mac环境下编译memcached源码
memcached源码有两个地方可以下载
要在mac环境下编译,只能从第二个地方下载。另外memcached依赖libevent,需要从https://libevent.org/下载libevent库。
编译
cd memeched
./configure --with-libevent=/path/to/libevent
make
make install
从main函数开始
从文件memcached.c
中找到main函数,可以发现main函数主要包含下面几个子函数
....
/* initialize other stuff */
stats_init();
logger_init();
conn_init();
restart_register("main", _mc_meta_load_cb,_mc_meta_save_cb, meta);
restart_mmap_open(settings.maxbytes, memory_file, &mem_base);
assoc_init(settings.hashpower_init);
....
slabs_set_storage(storage);
memcached_thread_init(settings.num_threads, storage);
init_lru_crawler(storage);
...
server_sockets(settings.udpport, udp_transport, portnumber_file)
....