- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
企业级Memcached服务应用实践
作者:XXX
归档:学习笔记
PAGE I
目 录
TOC \o 1-3 \h \z \u 第1章 Memcached介绍 1
1.1 Memcached 介绍 1
1.1.1 Memcached与常见同类软件对比 1
1.2 Memcached的用途与应用场景 2
1.2.1 memcached常见用途工作流程 2
1.2.2 Memcached在企业中的应用场景 4
1.3 搭建memcached服务端 5
1.3.1 libevent(epoll模型,libevent作为事件通知机制)。 5
1.3.2 、memcached 5
1.3.3 启动服务并检查 5
1.3.4 存取数据实践 6
1.4 搭建memcache客户端 7
1.5 memcached内存管理机制 8
1.6 Memcached的检测过期与删除机制 11
1.6.1 Memcached懒惰检测对象过期机制 11
1.6.2 Memcached懒惰删除对象机制 12
PAGE
PAGE 12
Memcached介绍
Memcached 介绍
Memcached与常见同类软件对比
Memcached是什么?
Memcached是一个开源的、支持高性能、高并发的分布式内存缓存系统,由C语言编写,总共2000多行代码。从软件名称上看,前3个字符“Mem”就是内存的意思,而接下来的后面5个字符“cache”就是缓存的意思,最后一个字符d,是daemon的意思,代表是服务器端守护进程模式服务。
Memcached服务分为服务器端和客户端两部分,其中,服务器端软件的名字形如Memcached,客户端软件的名字形如Memcache。
Memcached软件诞生于2003年,最初由LiveJournal的Brad Fitzpatrick开发完成。Memcache是整个项目的名称,而Memcached是服务器端的主程序名,因其协议简单,应用部署方便、且支持高并发,因此被互联网企业广泛使用,直到现在仍然如此。其官方网站地址:/。
2. Memcached的作用
传统场景中,多数Web应用都将数据保存到关系型数据库中(例如:MySQL),Web服务器从中读取数据并在浏览器中显示。但随着数据量的增大、访问的集中,关系型数据库的负担就会出现加重、响应缓慢、导致网站打开延迟等问题,影响用户体验。
这时就需要Memcached软件出马了。使用Memcached的主要目的是,通过在自身内存中缓存关系型数据库的查询结果,减少数据库被访问的次数,以提高动态Web应用的速度、提高网站架构的并发能力和可扩展性。
Memcached服务的运行原理是通过在事先规划好的系统内存空间中临时缓存数据库中的各类数据,以达到减少前端业务服务对数据库的直接高并发访问,从而提升大规模网站集群中动态服务的并发访问能力。
生产场景的Memcached服务一般被用来保存网站中经常被读取的对象或数据,就像我们的客户端浏览器也会把经常访问的网页缓存起来一样,通过内存缓存来存取对象或数据要比磁盘存取快很多,因为磁盘是机械的,因此,在当今的IT企业中,Memcached的应用范围很广泛。
Memcached的用途与应用场景
memcached常见用途工作流程
Memcached是一种内存缓存软件,在工作中经常用来缓存数据库的查询数据,数据被缓存在事先预分配的Memcached管理的内存中,可以通过API或命令的方式存取内存中缓存的这些数据,Memcached服务内存中缓存的数据就像一张巨大的hash表,每条数据都是以key-value对的形式存在。
1.网站读取Memcached数据时工作流程
从逻辑上来说,当程序访问后端数据库获取数据时会优先访问Memcached缓存,如果缓存中有数据就直接返回给客户端用户,如果没有合适的数据(没有命中),再去后端的数据库读取数据,读取到需要的数据后,就会把数据返回给客户端,同时还会把读取到的数据缓存到Memcached内存中,这样客户端用户再次请求相同的数据时就会直接读取Memcached缓存的数据了,这就大大地减轻了后端数据库的压力,并提高了整个网站的响应速度,提升了用户体验。
下展示了Memcached缓存系统和后端数据库系统的协作流程。
在图上中,使用Memcached缓存查询的数据来减少数据库压力的具体工作流程如下:
1)Web程序首先检查客户端请求的数据是否在Memcached缓存中存在,如果存在,直接把请求的数据返回给客户端,此时不再请求后端数据库。
2)如果请求的数据在Memcached缓存中不存在,则程序会去请求数
原创力文档


文档评论(0)