PHP 的缓存机制

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 边缘节点加速访问

相关推荐
niucloud-admin11 分钟前
PHP SAAS 框架常见问题——配置问题——地图配置报错
php
Zqrnja13 分钟前
PTA 2026天体选拔赛(多校联赛)L2-1 仪式网络(C++ 含代码解释)
开发语言·c++
llm大模型算法工程师weng18 分钟前
负载均衡做什么?nginx是什么
运维·开发语言·nginx·负载均衡
逆境不可逃20 分钟前
【后端新手谈13】VO、BO、PO、DO、DTO:Java 分层开发的 5 大核心数据对象
java·开发语言
古月方枘Fry23 分钟前
三层交换+VRRP实现负载
开发语言·网络·php
qq_54702617929 分钟前
Java 中的 Caffeine 缓存详解
java·开发语言·缓存
froginwe1135 分钟前
JSP 发送邮件
开发语言
沐雪轻挽萤40 分钟前
15. C++17新特性-std::string_view
java·开发语言·c++
不考研当牛马1 小时前
python 第21课 基础完结(UDP套接字)
开发语言·python·udp
wearegogog1231 小时前
光伏发电系统最大功率跟踪(MPPT)算法 Matlab 实现指南
开发语言·算法·matlab