- 5
- 0
- 约2.25万字
- 约 6页
- 2017-06-04 发布于河南
- 举报
memcached经典问答
Memcached是怎么工作的?
Memcached的神奇来自两阶段哈希(two-stage hash)。Memcached就像一个巨大的、存储了很多对的哈希表。通过key,可以存储或查询任意的数据。
客户端可以把数据存储在多台Memcached上。当查询数据时,客户端首先参考节点列表计算出key的哈希值(阶段一哈希),进而选中一个节点;客户端将请求发送给选中的节点,然后Memcached节点通过一个内部的哈希算法(阶段二哈希),查找真正的数据(item)。
举个列子,假设有3个客户端1, 2, 3,3台Memcached A, B, C:Client 1想把数据”barbaz”以key “foo”存储。Client 1首先参考节点列表(A, B, C),计算key “foo”的哈希值,假设Memcached B被选中。接着,Client 1直接connect到Memcached B,通过key “foo”把数据”barbaz”存储进去。Client 2使用与Client 1相同的客户端库(意味着阶段一的哈希算法相同),也拥有同样的Memcached列表(A, B, C)。于是,经过相同的哈希计算(阶段一),Client 2计算出key “foo”在Memcached B上,然后它直接请求Memcached B,得到数据”barbaz”。各种客户端在Memcached中数据的存储形式是不同的。一些客户端实现的哈希算法也不一样。但是,Memcached服务器端的行为总是一致的。
Memcached最大的优势是什么?
Memcached最大的好处就是它带来了极佳的水平可扩展性,特别是在一个巨大的系统中。由于客户端自己做了一次哈希,那么我们很容易增加大量Memcached到集群中。Memcached之间没有相互通信,因此不会增加 Memcached的负载;没有多播协议,不会网络通信量爆炸(implode)。Memcached的集群很好用。内存不够了?增加几台 Memcached吧;CPU不够用了?再增加几台吧;有多余的内存?在增加几台吧,不要浪费了。
Memcached的cache机制是怎样的?
Memcached主要的cache机制是LRU(最近最少用)算法+超时失效。当您存数据到Memcached中,可以指定该数据在缓存中可以呆多久Which is forever, or some time in the future。如果Memcached的内存不够用了,过期的slabs会优先被替换,接着就轮到最近使用最少的slabs。
为什么单个item的大小被限制在1M byte之内?
简单的回答:因为内存分配器的算法就是这样的。
详 细的回答:Memcached的内存存储引擎(引擎将来可插拔…),使用slabs来管理内存。内存被分成大小不等的slabs chunks(先分成大小相等的slabs,然后每个slab被分成大小相等chunks,不同slab的chunk大小是不相等的)。chunk的大小依次从一个最小数开始,按某个因子增长,直到达到最大的可能值。
如果最小值为400B,最大值是1MB,因子是1.20,各个slab的chunk的大小依次是:slab1 – 400B slab2 – 480B slab3 – 576B …
slab中chunk越大,它和前面的slab之间的间隙就越大。因此,最大值越大,内存利用率越低。Memcached必须为每个slab预先分配内存,因此如果设置了较小的因子和较大的最大值,会需要更多的内存。
还有其他原因使得您不要这样向Memcached中存取很大的数据,把这样大的数据结构load和unpack到内存中需要花费很长的时间,从而导致您的网站性能反而不好。
Memcached能接受的key的最大长度是多少?需要注意的是,250是Memcached服务器端内部的限制,如果您使用的客户端支持”key的前缀”或类似特性,那么 key(前缀+原始key)的最大长度是可以超过250个字符的。
Memcached对item的过期时间有什么限制?过期时间最大可以达到30天。Memcached把传入的过期时间(时间段)解释成时间点后,一旦到了这个时间点,Memcached就把item置为失效状态。
您可能关注的文档
- ERP在企业中的应用及其长大.doc
- ERP沙盘推演的工商治理专业传授教化形式立异.doc
- EVK 企业文明调盘问卷.doc
- Evolution of microstructure in spray formed Al–18%Si alloy.pdf
- Excel20032007如何中删除重复数据、重复行.doc
- Ewebeditor及fckeditork单引号的题目.doc
- Excel输进的技能.doc
- Excel电子表格上机题选.doc
- Flash 动画技巧.doc
- FLASH公益告白设计与制作.doc
- 小区绿化施工协议书.docx
- 墙面施工协议书.docx
- 1 古诗二首(课件)--2025-2026学年统编版语文二年级下册.pptx
- (2026春新版)部编版八年级道德与法治下册《3.1《公民基本权利》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《4.3《依法履行义务》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.2《按劳分配为主体、多种分配方式并存》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.1《公有制为主体、多种所有制经济共同发展》PPT课件.pptx
- 初三教学管理交流发言稿.docx
- 小学生课外阅读总结.docx
- 餐饮门店夜经济运营的社会责任报告(夜间贡献)撰写流程试题库及答案.doc
最近下载
- 2025年自来水供应专属承包合同样本版.docx VIP
- 2022化工安全与环保第二版课后题答案最新版(完整版).docx VIP
- ASUS华硕主板大师系列Z97-A 用户使用手册 (繁体中文).pdf
- 智能金融:AI 驱动的金融变革.pptx
- 人工智能在心血管无创影像中的应用:前沿技术与临床价值.pdf VIP
- 2025年氢燃料电池在数据中心储能应用趋势.docx
- 2026年中国铁路上海局集团有限公司招聘普通高校毕业生1236人备考题库及答案详解(考点梳理).docx VIP
- 井工煤矿复工复产开工第一课教案.docx VIP
- 社区居务监督培训课件.ppt VIP
- 心灵终结单位全代码.doc VIP
原创力文档

文档评论(0)