LAMP高并发处理方案 —— 缓存篇

使用Linux、php、mySQL、apache搭建的web网站,处理海量数据(百万级,千万级,亿级数据)和高并发(百万IP、千万IP)处理解决方案。这里主要讲述缓存技术来提高服务器负载能力

LAMP缓存图

从图中我们可以看到网站缓存主要分为五部分:

  • 浏览器缓存:包括页面html缓存和图片js,css等资源的缓存
  • 服务器缓存:主要是基于web反向代理的静态服务器nginx和squid,还有apache2的mod_proxy和mod_cache模块
  • PHP缓存:有很多免费的PHP缓冲加速工具,如apc eaccerlertor等
  • 内存缓存:主要是采用memcached这种分布式缓存机制。(PHP扩展中memcache是早期的版本,memcached算是升级版)
  • 数据库缓存:通过配置数据库缓存,以及数据存储过程,连接池技术等

浏览器缓存

在php编程中使用header()函数发送文件头,设置浏览器缓存,加快站点的访问速度

在HTML中添加meat标签,实现浏览器缓存本网站的网页

使用apache的mod_headers模块,设置浏览器缓存文件

使用apache的mod_expires模块,设置浏览器缓存文件

apache服务器缓存

Apache服务器的内容缓存

开启mod_cache模块,缓存动态文件

开启mod_file_cache模块,缓存静态文件

opcode缓存

php代码的执行过程

PHP执行的底层机制

CLI —— PHP的命令行模式

APC(Alternative PHP Cache)——PHP opcode缓存