
memcached
巴山独钓
tankles: thank you and thanks 中文译:感恩
展开
-
memcached源码学习-hashtable
今天来介绍memcached中hashtable部分的源码,hash部分的源码主要分布在assoc.h/c、hash.h/c中,总得来说代码比较简单,这里就稍微介绍一下。 hashtable通常包括哈希函数和解决冲突的方法两个最主要的因素,memcached使用的哈希函数为Bob Jenkins在1996年发明的,定义位于hash.h中,实现在hash.c中,作者与2006年时原创 2011-12-01 23:17:22 · 4503 阅读 · 0 评论 -
[原创+转载] memcached源码学习-多线程模型
本来计划研究memcached的多线程模型,后来发现网上博文《Memcached源码分析(线程模型)》写的非常好,因此,也省去了我的大部分时间,这里并不打算自己再重新总结。 不过首先奉上我自己画的一张图,就称为memcached多线程交互的活动图吧,通过此图就基本掌握了main thread与单个worker thread的交互过程,图中序号表示基本的处理流程(图中driver_转载 2011-12-02 19:58:52 · 2097 阅读 · 0 评论 -
memcached源码学习-总结篇
研究memcached源码有段日子了,前面几篇文章把memcached主要模块进行了介绍,主要有: memcached源码学习-内存管理机制slab allocator memcached源码学习-hashtable memcached源码学习-多线程模型 memcached源码原创 2011-12-07 17:03:44 · 1180 阅读 · 0 评论 -
memcached源码学习-items操作
今天主要总结items相关的操作,items的操作分布比较多,定义和实现在memcachd.h/c、thread.h/c、items.h/c都有,感觉完全可以放在items.h/c中。这里就对所有的这些操作(除去stats部分)进行一个简单的总结。 首先对数据结构、ITEM_*宏和一些变量进行一个简单的说明,这里先建立一个宏观的概念,理解了它们的用途对后续阅读程序有很大的帮助。原创 2011-12-07 10:53:58 · 1753 阅读 · 2 评论 -
memcached源码学习-daemon进程
memcached守护进程创建函数位于daemon.c中,创建方式同其它守护进程相同,这里只是作为备忘,特此设置转载。 首先引用《Linux 守护进程 daemon》中守护进程的创建过程,然后附上memcached的daemon.c源码说明。 Linux 守护进程编程守护进程最重要的特性是后台运行;其次守护进程必须与其运行前的环境隔离开来,这些环境包括转载 2011-12-07 16:34:12 · 1561 阅读 · 0 评论 -
libmemcached1.0.2 C/C++ API使用实例、测试及修改
memcached是一个分布式的缓存系统,且其分布式是一种“轻量级”的分布式,完全依赖客户端库来实现,libmemcached就是一个开源的C/C++库。 使用libmemcached的C/C++ API客户端库资料及官方资料都很少,且网络上存在的C/C++ libmemcached实例都是采用的MOD的分布式算法,其缺点显而易见,当存在失效的memcached server原创 2012-01-18 13:42:31 · 12229 阅读 · 3 评论 -
memcached源码学习-内存管理机制slab allocator
前端时间大致浏览了一下memcached的源码,但是并没有对相关的知识点进行总结和记录,所以很快就忘了,这次打算将memcached的源码再学习一遍,并进行总结归纳。 memcached模块化设计比较好,每个模块除了对外接口定义在头文件外,其它函数定义及实现都在源文件中,且定义为static类型,这样很好的降低了模块之间的耦合性。下面,浏览源码将按照功能模块进行划分,逐步学习总结。原创 2011-11-30 22:01:32 · 3686 阅读 · 5 评论