跳转至

1. 介绍

一:概念

memcached是LiveJournal旗下Danga Interactive 公司的Brad Fitzpatric 为首开发的一款软件。
现在已成为mixi,hatena,facebook,Vox,LiveJournal等众多服务中 提高Web应用扩展性的重要因素。
许多web应用都将数据保存到RDBMS中,应用服务器从中读取数据并在浏览器中显示。
但随着数据量的增大,访问的集中,就会出现RDBMS的负加重,数据库响应恶化,网站显示延迟等重大影响。
这是就该memcached大显身手了。memcached是高性能的分布式内存缓存服务器。
一般的使用目的是:通过缓存数据库查询结果,减少数据库访问次数,以提高动态web应用的速度,提高可扩展性。
下面这张示意图会更好的展示memcached的大体工作流程: img.png   

二:适用场合

1.分布式应用。由于memcached本身是基于分布式的系统,所以尤其适合大型的分布式系统。
2.数据库缓存。数据库往往是网站系统的瓶颈。数据库的大量并发访问,常常造成网站内存溢出。
当然我们也可以使用Hibernate的缓存机制。但memcached是基于分布式的,
并可独立与网站应用本身,所以更适合大型网站进行应用的额拆分。
3.服务器间数据共享。举例来讲,我们将网站的登录系统,查询系统拆分为两个应用,
放在不同的服务器上,并进行集群,那这个时候用户登录后,登录信息如何从登录系统服务器同步到查询服务器呢?
这个时候,我们便可以使用memcached,登录系统后将登录信息缓存起来,查询系统便可以获得登录信息,
就像获取本地信息一样。

三:不适用场合

那些不需要“分布”的,不需要共享的,或者干脆规模小到只有一台服务器的应用,memcached不会带来任何好处,
相反还会拖慢系统效率,因为网络连接同样需要资源。

最后更新: 2022-02-20 11:21:58