首页 >后端开发 >php教程 >缓存的帽子戏法:Zend Opcache,etags和Query Caching

缓存的帽子戏法:Zend Opcache,etags和Query Caching

Lisa Kudrow
Lisa Kudrow原创
2025-02-17 09:29:12679浏览

>本文探讨了常见的PHP缓存技术:Zend Opcache,到期标头和MySQL查询缓存。 我们将在随后的文章中深入研究进一步的策略。

Caching Hat-trick: Zend Opcache, Etags and Query Caching

键优点:

    zend opcache,到期标头和MySQL查询缓存可以通过简化请求生命周期来显着提高PHP应用程序速度。
  • >预先安装的PHP 5.5,Zend Opcache存储在共享内存中预编译字体,避免了重复的脚本解析和编译。
  • >
  • >到期标头(Apache/nginx)利用静态资产(图像,CSS,JavaScript)的浏览器缓存,减少服务器负载和提高性能。 MySQL查询缓存存储已解析的SQL查询及其结果,加速了随后的相同查询并降低了数据库压力。
  • 了解php请求生命周期:
  • >
  • 在潜入缓存之前,让我们回顾一下php请求过程:>

>文件检索:PHP文件是从服务器的文件系统中获取的。 >词汇分析:代码被转换为代币以进行解析。>

解析:检查代码是否是否有语法错误。

>

opcode生成:令牌被转换为可执行的机器代码。>
    执行:执行机器代码。
  1. >
  2. 通过绕过步骤2-4,最大程度地减少资源消耗并改善响应时间来优化性能。
  3. > zend opcache:
  4. Zend Opcache是​​PHP 5.5及以后的可用性能增强器。使用
  5. 验证安装(检查“ zend opcache”)或
启用opcache:

编辑您的

文件,uncomment,然后重新启动您的php服务。> 对于5.5之前的PHP版本,使用PECL安装:

php --version opcache configuration(phpinfo()>或

密钥设置:

:共享内存大小(MB)。根据服务器资源和应用程序需求进行调整。php.ini opcache.enable=1

:实习字符串的内存(MB)。

pecl install zendopcache-beta:缓存文件的最大数量。

:频率(秒)检查文件更改(0始终检查,非常适合开发)。 php.ini/etc/php5/mods-available/opcache.ini:从caching(字节)中排除大型文件。

:加快解构器(设置为1)。

>

    >使用
  • 及其opcache.memory_consumption>监视Opcache的状态和性能。

    Caching Hat-trick: Zend Opcache, Etags and Query Caching

    到期标题(Apache):

    apache's

    模块启用静态资产的浏览器缓存。启用它:mod_expires

    <code class="language-bash">sudo a2enmod expires
    sudo service apache2 restart</code>
    >在您的Apache虚拟主机配置中配置有效规则:>

    (请咨询NGINX配置的nginx文档。)>
    <code class="language-apache"><ifmodule mod_expires.c>
    ExpiresActive On
    ExpiresDefault "access plus 1 day"
    ExpiresByType image/png "access plus 10 days"
    ExpiresByType text/css "access plus 25 days"
    </ifmodule></code>

    Caching Hat-trick: Zend Opcache, Etags and Query Caching > mysql查询缓存:

    >对于读取的应用程序,MySQL的查询缓存可以大大提高性能。 检查您的MySQL版本()。 对于版本5.6.8及以后的版本,以(例如,

    )启用它:

    > mysql --version my.cnf>根据服务器的容量和更新频率调整设置。使用/etc/mysql/my.cnf>。

    <code class="language-mysql"># * Query Cache Configuration
    query_cache_type             = ON
    query_cache_min_res_unit     = 4096
    query_cache_limit            = 1M
    query_cache_size             = 16M
    query_cache_wlock_invalidate = OFF</code>

    SHOW STATUS LIKE "qcache%";

    查询缓存注意事项:

    Caching Hat-trick: Zend Opcache, Etags and Query Caching

    仅适用于QUERIES。

    查询必须与缓存命中相同。
      >
    • 只有确定性查询才能缓存。SELECT>
    • 表更新无效。
    • 结论:
    • >本文介绍了基本的PHP缓存策略。 第2部分将探索高级技术,例如清漆,内存和PHP缓存库。
    • >
    常见问题(常见问题解答):

    (这些已经在主文本中回答,因此无需在此处重复它们。)

以上是缓存的帽子戏法:Zend Opcache,etags和Query Caching的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn