- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
本文由简悦SimpRead转码,原文地址
你好,我是你的缓存老师欢迎你进入第8“Memcached系统架构”的学习。
系统架构
我们来看一下Mc的系统架构。
如下图所示,Mc的系统架构主要包括网络处理模块、多线程处理模块、哈希表、LRU、slab内存分配
模块5部分。Mc基于Libevent实现了网络处理模块,通过多线程并发处理用户请求;基于哈希表对
key进行快速定位,基于LRU来管理冷数据的剔除淘汰,基于slab机制进行快速的内存分配及。
系统架构
Mc基于Libevent开发实现了多线程网络模型。Mc的多线程网络模型分为主线程、工作线程。这些线
程通过多路复用IO来进行网络IO接入以及读写处理。在Linux下,通常使用epoll。通过多路复用
IO,特别是epoll的使用,Mc线程无须遍历整个被侦听的描述符集,只要在被通知后遍历Ready队列
的描述符集合就OK了。这些描述符是在各项准备工作完成,才被内核IO异步通知。也就是
说,只在连接做好准备后,系统才会进行通知,Mc才会进行I/O操作。这样就不会发生阻塞,使
Mc在支持高并发的同时,拥有非常高的IO吞吐效率。
Mc除了用于IO的主线工作线程外,还用于多个辅助线程,如Item爬虫线程、LRU线程、哈
希表线程等,通过多线程并发工作,Mc可以充分利用机器的多个,实现很好的网络IO性能和
数据处理能力。
Mc通过哈希表即Hashtable来快速定位key。数据时,数据Item结构在存入slab中的chunk
后,也会被存放到Hashtable中。同时,Mc的哈希表会在每个桶,通过Item记录一个单向链表,以
此来解决不同key在哈希表中的Hash问题。当需要查找给定key的Item时,首先计算key的
Hash值,然后对哈希表中与Hash值对应的bucket中进行有哪些信誉好的足球投注网站,通过轮询bucket里的单向链表,找
到该key对应的Item指针,这样就找到了key对应的Item,如下图所示。
正常情况下,Mc对哈希表的、查找操作都是在主表中进行的。当表中Item数量大于哈希表
bucket节点数的1.5倍时,就对哈希表进行扩容。如下图所示,扩容时,Mc两张
Hashtable,一个主哈希表primary_hashtable,一个是旧哈希表old_hashtable。当扩容开始时,原
来的主哈希表就成为旧哈希表,而新分配一个2倍容量的哈希表作为新的主表。扩容过程中,线程
会将旧表的Item指针,逐步到新主哈希表。迁移过程中,根据迁移位置,用户请求会同时查
旧表和新的主表,当数据全部迁移完成,所有的操作就重新回到主表中进行。
LRU机制
Mc主要通过LRU机制,来进行冷数据淘汰的。自1.4.24版本,Mc不断优化LRU算法,当前Mc
版本已默认启用分段LRU了。在启用分段LRU之前,每个slabcla只对应一个COLD
LRU,在内
存不足时,会直接从COLDLRU剔除数据。而在启用分段LRU,每个slabcla就有TEMP、
HOT、WARM和COLD
四个LRU。
如下图所示,TEMPLRU中Item剩余过期时间通常很短,默认是61秒以内。该列队中的Item不
会发生在队列内搬运,也不会迁移到其他队列。在新key/value时,如果key的剩余过期时间小于
61秒,则直接进入TEMPLRU。后面,在必要时直接进行过期即可。这样避免了锁竞争,性能也更
高。
对于HOTLRU,不搬运,当队列满时,如果队尾Item是Active状态,即被
您可能关注的文档
- 某六层框架教学楼建筑图结构图计算任务书平米左右开题报告.pdf
- 片段状态源目标已翻译entals校对4 h.pdf
- 公开20199sap 4hana实用程序机器学习解决方案2 overviewisu概述.pdf
- sigma-sml共7 aldrich安全数据表.pdf
- 世界多美呀一课时.pdf
- 工作体目标7 teaching instruction newpi教学指导新.pdf
- 安全生产状况评估报告.pdf
- 专题巧妙构造函数应用导数证明不等式问题一篇-2019高考数学压轴命题区间探究与突破原卷版.pdf
- 来自章2000注意事项.pdf
- 基恩士超高速、高精度激光位移计LK-G5000 系列用户手册.pdf
文档评论(0)