PHP 的缓存机制可以大幅提升应用性能,主要有以下几种方式:
1. OPcache (字节码缓存)
-
默认内置,将 PHP 文件编译后的字节码缓存到内存
-
避免每次请求重复编译,显著提升执行速度
-
配置示例:
bash
; php.ini
opcache.enable=1
opcache.memory_consumption=128
2. 数据缓存
APCu (用户数据缓存)
-
内存缓存,适合存储会话、配置等
-
简单易用,适合单机环境
-
示例:
php
apcu_store('key', 'value', 3600);
$data = apcu_fetch('key');
3. 文件缓存
-
将数据序列化后存储到文件
-
简单但性能较低
-
示例:
php
file_put_contents('cache.data', serialize($data));
4. 页面缓存
HTTP 缓存
-
利用浏览器缓存
-
设置响应头:
header('Cache-Control: public, max-age=3600');
全页面缓存
-
将完整页面 HTML 缓存
-
适合不常变动的内容
-
如:Varnish、Nginx 缓存
5. 数据库查询缓存
MySQL 查询缓存(注意:MySQL 8.0 已移除)
应用程序级查询缓存
$cacheKey = md5($sql);
if (!$result = $cache->get($cacheKey)) {
$result = $db->query($sql);
$cache->set($cacheKey, $result, 300);
}
6. CDN 缓存
-
缓存静态资源(CSS、JS、图片)
-
通过 CDN 边缘节点加速访问