阿弥陀佛
发布时间:2016-12-01 22:33:07
1. SerializeToString(string *data) 将string序列化到 data上,该方法可以节省堆的碎片,比SerializeAsString要更好些。......【阅读全文】
发布时间:2016-11-19 23:03:15
任何好的开源软件都有两面:一个是给新手提供的demo,另一个是自己内部支持的其他高级的接口。例如leveldb如果只是初级用户只需要知道他提供给我们的存储接口。当我们用这个工具去存储千万级配置时,只能去研究具体的原理,并调整各个参数。Arena是leveldb的内存申请类。当内存超过了最大的1000w时,直接换了一个新的.........【阅读全文】
发布时间:2014-02-02 17:26:51
nginx将他的处理工作分为11个阶段,其中4个为只能有一个handler函数,7个阶段为可以有多个处理函数,各个阶段的类型如下图所示:点击(此处)折叠或打开typedef enum { NGX_HTTP_POST_READ_PHASE = 0, .........【阅读全文】
发布时间:2013-12-05 19:46:06
回去打印一下,研究一下memcached,每个线程一个ConnectQueue(CQ),主线程将数据分发到每个线程的CQ当中。CQ当中的每个元素的类型为点击(此处)折叠或打开struct conn_queue_item { int sfd; enum conn_states i.........【阅读全文】
发布时间:2013-11-30 19:44:51
memcached允许用户设置数据的过期时间,那么memcached是如何管理过期数据的呢?原理很简单:首先通过hash表查找该数据,然后判断该数据是否过期。如果过期,那么就将数据删除,否则将数据交给用户。系统中有一个定时器事件。点击(此处)折叠或打开/* libevent uses a monotonic clock when .........【阅读全文】