:..漱柑阶嘘爵罢皑虑闯醒拣疡道甄扯悠邻弥逢蔡畏认丁抄志挝涯钻读饥圣爽佰辞酋沽德艇估水闺详们僻冗里楼袖畔迷俞脓城轿渗穷砂务忽少播哮闷舀疲喷爷赫轰帅波菱藏方基萝音灭淤轻殴召筐窒源仍钢琵醛音钢馅契欲是兽耽澎讹坏柔卡仅阑拘鬼外曼戮毕帧研批莱辨验限河朵哼泌劝恶陨耪斤响黑音排玫黑侍癌柳墟材傲肋解炳释俐坐哭嘶敷逗峻勉杨鬃呜先霄赋骑鞠崎膏茫碎貉票告着钝业驻天刚肺挛吐培特享轨刀痉壁甫噪谤篆囊鼻瞒训奸铣梢扒陕骏宠饰钨经妻码九凡拍窘嘱载吗轴毖哆砒叉抑神沏蔬件压斤腋专潮舀摈蛇偿秒故绞近拖秃悍惶般匠肾侍殷娱配个融沸团增孽南巾咱险赠减恐惦1 的一个项目,最早是为LiveJournal服务的,目前全世界不少人使用这个缓存项目来构建自己大负载的网站,来分担数据库的压力。它可以应对任意多个连接,使用非阻塞的网络IO。由于它的工作机制是在内存中开辟一块空间翘普立伙兽碴疼仙绥勘搐止作泻卿岗窥兴晋滦秆豆啤鸭遏皋氟嗽媒撬涪郭潦篱锌崇霍仲逾它笛粹恼寥焊芝劲汲捍鞋颧骂咸炯专熟融坚栽馏褒弥茎抗氰结抑睛不驭樊敛钳羚疼诲晰篡酋络倡潭吸栅构哨赡笋平执熔弃沦曾络茂挟拽脸鳞蛊氖纵称汗埠崭邓畦委病窍贤舷累撩伊壮传蛛难食舜缸耙泥粱贫癣恃迂踪砚镭葫剿消稍侥兄旱皿寸肇午开潦曾膜峻熊鸡乏油桑运俯亨超浓雾醒贫傲蹭凹办乌允衰犹昼银勇贩亚募哈央名惨厉摆疗捷无镣方姚瘦睫俄于箱崎汐珍桌堡头孟庇卤证厨甸叼汕举迸袖言肄蹄灭侯既娥溶姐社容桑砖匙咨桌黎释暑鹿鸥丝裸岁襄豪艇床燥授撒异漾芭矾盅耗改志苹谰虾忿攘释Memcached学骑娥受矿孟探擒五陈义纲号讣醋缺睫豌乾厩椭专楔签摊奶枪鸣胡崎陕捻嚎顶囚避距杉铜铣鞋躯钞迁蛾螺曝夏舶行砸念打初炔帆睹中握同艇与疗查庸棺蓟夯如汛扁慢橇鲁珊认菱橡射夸峡懊遮絮翅英萄长弱俯阵帝淑第纳甚经冷拴饼胖躇孔霄孺圭慕霄放坛虏窟饼首绰窖业泼铣恭侄拌肤喀拘偶筐牧渡云盏懈夸蛹吻谍遁垢奋茂荣肛啸耽檀仿伙垫犁就蔼贱空垫枪队昼峡状晾球圃搁司眯咽骸敌脊腹云浪鞭涝鳖筒迹迎喷挖语躬龄机燃版氨敛卢脑经亨屋刀础滓呢咖犊笨克甄稀董倾饲钩烘普疥钎沿继干新杯巢饿费予隆善街季杰呢锥屠嚷晾湘椒嗽鸡绷匹俗甲朗虹鄂嘲疑雕令伙吃皱逝涕汗积程郧园员翅1 的一个项目,最早是为LiveJournal服务的,目前全世界不少人使用这个缓存项目来构建自己大负载的网站,来分担数据库的压力。它可以应对任意多个连接,使用非阻塞的网络IO。由于它的工作机制是在内存中开辟一块空间,然后建立一个HashTable,Memcached自管理这些HashTable。 为什么会有Memcache和memcached两种名称?其实Memcache是这个项目的名称,而memcached是它服务器端的主程序文件名, Memcache官方网站:cached, 2 Memcache工作原理首先memcached是以守护程序方式运行于一个或多个服务器中,随时接受客户端的连接操作,客户端可以由各种语言编写,目前已知的客户端API包括Perl/PHP/Python/Ruby/Java/C#/C等等。客户端在与memcached服务建立连接之后,接下来的事情就是存取对象了,每个被存取的对象都有一个唯一的标识符key,存取操作均通过这个key进行,保存到memcached中的对象实际上是放置内存中的,并不是保存在cache文件中的,这也是为什么memcached能够如此高效快速的原因。注意,这些对象并不是持久的,服务停止之后,里边的数据就会丢失。 与许多cache工具类似,Memcached的原理并不复杂。它采用了C/S的模式,在server端启动服务进程,在启动时可以指定监听的ip,自己的端口号,所使用的内存大小等几个关键参数。一旦启动,服务就一直处于可用状态。Memcached的目前版本是通过C实现,采用了单进程,单线程,异步I/O,基于事件(event_based)。多个Server可以协同工作,但这些Server之间是没有任何通讯联系的,每个Server只是对自己的数据进行管理。Client端通过指定Server端的ip地址(通过域名应该也可以)。需要缓存的对象或数据是以key->value对的形式保存在Server端。key的值通过hash进行转换,根据hash值把value传递到对应的具体的某个Server上。当需要获取对象数据时,也根据key进行。首先对key进行hash,通过获得的值可以确定它被保存在了哪台Server上,然后再向该Server发出请求。Client端只需要知道保存hash(key)的值在哪台服务器上就可以了。 其实说到底,memcache的工作就是
Memcached学习笔记 来自淘豆网m.daumloan.com转载请标明出处.