当前位置:编程学习 > php >>

php Memcached分布式缓存(1/3)

一.   什么是memcached

memcached 是一个高性能的分布式内存对象缓存系统,用于动态web应用以减轻数据库教程负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态、数据库驱动网站的速度。

相信很多人都用过缓存,在 .net 中也有内置的缓存机制,还有很多第三方工具如apachenginx等可以做静态资源的缓存,同时我们也可以制定自己的缓存机制,缓存数据库查询的数据以减少对数据库的频繁操作。但是很多时候我们总是感觉这些缓存总不尽人意, memcached可以解决你不少的烦恼问题。最少在我的学习中解决了我不少问题,所以决定记录下来分享。

memcached基于一个存储键/值对的hashmap。其守护进程是用c写的,但是客户端可以用任何语言来编写(本文使用c#作为例子),并通过memcached协议与守护进程通信。可           能这些东西都太高深了,我们暂不做研究。  

 

二.   分布式缓存 

其实 memcached作为一个分布式缓存数据服务,但是每个服务之间根本没有进行相互通信,这里可能与我理解的分布式有点区别,可能是我才疏学浅,也可能是每个人思考问题的角度不同。memcached 客户端就是通过一种分布式算法将数据保存到不同的memcached服务器上,将数据进行缓存。分布式缓存,可以而知memcached可以进行大数据量的缓存。这点可以弥补我们之前很多人都遇到的将数据缓存到应用服务器上,而且只能缓存少量数据,否则对应用服务器的影响非常大。
memcached应用机制图

 

这个图是有点简陋了,但是问题还是能够描述的清楚的,缓存机制的基本原理就是先查询数据保存到memcached中,地址在此请求就直接从memcached缓存中取数据,这样就可以减少对服务器请求压力。

 

 

 

1 2 3
补充:Php教程,Php高级应用 
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,