- 博客(5)
- 收藏
- 关注
原创 MEMCACHED(5)——对哈希表的改进
1.在官网还是哪儿,我看到了一句关于代码中哈希表的注释:具体记不清楚了,大概有个单词是coarse,意识是说,该哈希表的锁粒度实在是太粗了,以后再细化。 确实,非常粗,多个工作线程对它的互斥竞争比较强烈。 2.解决方案:首先,想把哈希表拆成多个小表,怎么拆呢?
2011-07-03 15:03:19 826
原创 MEMCACHED(4)——哈希表
1. 最初看见assoc.c文件,发现了两个哈希表primary_hashtable和old_hashtable,还以为是采用了传说中的perfect hash,再仔细看完该文件,雷! 2.MEMCACHED只是简单的对哈希表做扩充,在装载因子大于1.5的时候
2011-07-03 14:54:33 1018
原创 MEMCACHED(3) SLAB内存池
1. 对这个SLAB内存池实在没什么好说的,比较直白。简单介绍一下各个参数吧。 2. setting的与SLAB相关的参数 chunk_size:这是SLAB所存储的最小对象大小,包括sizeof(item) + key + value。 item_size
2011-07-03 14:44:50 1437
原创 MEMCACHED(2) 网络线程模型
1 MEMCACHED的网络线程模型结构和之前公司的网游服务器底层很相似。首先,主线程采用非阻塞ACCEPT,它也只干这一件事情,将新连接按照RR轮转,投递给一个工作线程;投递的方法稍有蹊跷,将新连接PUSH到选定的工作线程的CQ队列中,该队列是线程安全的。
2011-07-03 14:28:03 824
原创 memcached(1)
1.memcached参数解读 "p:" /* TCP port number to listen on */ 这是监听套接字所绑定的端口号,对应的变量是settings.port; "U:" /* UDP port number to listen on */ UDP套接口所绑定的端口号,对应的变量是settings.udpport; 进程会创建两种类型的套接字用于服务。其实还
2011-07-03 14:16:57 900 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人