Memcached
cyningsun
这个作者很懒,什么都没留下…
展开
-
Memcached 结构分析
Memcached 结构分析 Memcached是一个分布式的内存缓存库,正好自己想写个cache的模块,那么就偷偷师吧。 功能库看的是实现原理和思路,性能库看的是实现细节,memcahed是属于一个看性能的库(实现cache功能的模块很多,但是性能就有高低了) 1、memcached的数据交互协议 memcached是分布式的内存缓存服务器,它是通过转载 2013-04-10 13:15:04 · 2021 阅读 · 0 评论 -
memcached-内存管理机制slab allocator
前端时间大致浏览了一下memcached的源码,但是并没有对相关的知识点进行总结和记录,所以很快就忘了,这次打算将memcached的源码再学习一遍,并进行总结归纳。 memcached模块化设计比较好,每个模块除了对外接口定义在头文件外,其它函数定义及实现都在源文件中,且定义为static类型,这样很好的降低了模块之间的耦合性。下面,浏览源码将按照功能模块进行划分,逐步学习总结。转载 2013-04-10 13:17:34 · 3893 阅读 · 2 评论 -
memcached-hashtable
今天来介绍memcached中hashtable部分的源码,hash部分的源码主要分布在assoc.h/c、hash.h/c中,总得来说代码比较简单,这里就稍微介绍一下。 hashtable通常包括哈希函数和解决冲突的方法两个最主要的因素,memcached使用的哈希函数为Bob Jenkins在1996年发明的,定义位于hash.h中,实现在hash.c中,作者与2006转载 2013-04-10 13:19:13 · 1526 阅读 · 0 评论 -
memcached-多线程模型
本来计划研究memcached的多线程模型,后来发现网上博文《Memcached源码分析(线程模型)》写的非常好,因此,也省去了我的大部分时间,这里并不打算自己再重新总结。 不过首先奉上我自己画的一张图,就称为memcached多线程交互的活动图吧,通过此图就基本掌握了main thread与单个worker thread的交互过程,图中序号表示基本的处理流程(图中drive转载 2013-04-10 13:22:20 · 3725 阅读 · 0 评论 -
memcached-items操作
今天主要总结items相关的操作,items的操作分布比较多,定义和实现在memcachd.h/c、thread.h/c、items.h/c都有,感觉完全可以放在items.h/c中。这里就对所有的这些操作(除去stats部分)进行一个简单的总结。 首先对数据结构、ITEM_*宏和一些变量进行一个简单的说明,这里先建立一个宏观的概念,理解了它们的用途对后续阅读程序有很大的帮助转载 2013-04-10 13:23:59 · 2316 阅读 · 0 评论