MemCache学习(一)——初识MemCache

来源:互联网 发布:c获取数组元素个数 编辑:程序博客网 时间:2024/05/20 05:23

MemCache学习(一)——初识MemCache

MemCache是什么

MemCache是一个高性能的分布式的内存对象缓存系统。它通过在内存里维护一个巨大的hash表,来存储各种格式的数据,包括图像、视频、文件以及数据库的检索结果。

为什么要用MemCache

使用MemCache的原因非常简单,因为内存的访问要比硬盘快得多。把各种格式从内存调用到内存中,然后从内存中读取所需要的数据,将会大大提高访问的速度,缓解数据库的压力。

MemCache在Web中的应用

MemCache作为中间缓存层减少数据库的压力

MemCache缓存系统,最主要就是为了分担数据库的压力,从而提高网站的访问速度。一些非常大型的网站,如果没有中间缓存层,数据库就会因为访问量过大,性能急剧下降,无法同时服务更多的用户。像MySQL还会频繁地锁表。
那MemCache作为中间层时,具体的操作步骤是: MemCache服务器安装病并启动成功后,PHP程序先直接去MemCache服务器中查询数据(MemCache也可以与PHP脚本在同一个服务器上),如果获取失败,说明还没建立缓存。PHP再去查询MySQL数据库,将数据显示给用户的同时,再将数据保存在MySQL中,并指定一个缓存时间,假设为一小时,那么,在一小时之内都可以从MemCache中获取到缓存的数据,而不用每次都重新链接数据库获取数据。这样,就缓解了数据库的查询压力。

MemCache分布式的应用

单台MemCache的内存容量有限,可以使用多台主机构建MemCache 分布式应用。也就是可以允许不同主机的多个用户同时访问这个缓存系统。
就算是整个网站只用一台服务器,也有使用MemCache的必要。例如,Apache服务器是进程管理机智,运行时消耗的CPU较多但不占用太多的内存。而MemCache几乎不占用多少cpu的使用但需要很多的内存来缓存数据,因此可以很好的地互补。

注意:因为MemCache的数据保存在内存中,所以一旦MemCache服务器重新启动。MemCache的数据将会清空。

0 0
原创粉丝点击