Categories: DevOpsPHP编程

php缓存技术有哪些

PHP的运行速度非常快,而随着PHP 7的发布,它的运行速度大大提高,有时平均速度是PHP 5.5的2倍。HHVM有时甚至更快。也就是说,缓存对于PHP应用程序的速度至关重要。

OPCache

OPCache是​​一种特殊的缓存机制,用于存储PHP文件的预编译版本。执行后,一个PHP文件被编译为字节码,一旦完成此过程,字节码便被执行。

99.9%的操作码在几天之内是相同的,因为一个文件可能几个月都不会更改,并且默认情况下,PHP每次都会重新编译一次。

为了改善这一点,请使用OPCache。OPCache通过将预编译的脚本字节码存储在共享内存中来提高PHP的性能,而无需PHP在每个请求上加载和解析脚本。

自PHP 5.5起,它已捆绑在内核中,只需安装它即可使我们获得极大的速度改进,而不必使用它。

OPCache documentation

APCu

APCu是没有操作码缓存的旧式APC,现在由OPCache正式提供。它是一个用户缓存,这意味着您的PHP代码必须显式地使用它才能利用它,而OPCache在安装后就可以完成所有工作。

当执行昂贵的操作(如读取文件或获取网络资源)时,可以将结果存储在用户缓存中,以加快以后对同一对象的请求。

APCu的唯一缺点是,它对运行它的计算机是本地的,对PHP流程和系统是本地的。
这意味着如果您将PHP用作FastCGI进程(例如Nginx和php-fpm),则每个PHP进程都会拥有自己的缓存。

除非您希望在多个服务器或进程上运行您的应用程序,否则就可以了。否则,Memcached和Redis可能是一个很好的解决方案。

Using APCu

<?php
function getData() {
    $data = apc_fetch('some_data');
    if ($data === false) {
        $data = $this->getSomeData();
        apc_add('some_data', $data);
    }
    return $data;
}
?>

APC, XCache, Memcached, Redis

由于OPcache现在是内置的,并且键值缓存现在是APCu的一部分,因此APC不再重要。不再建议使用XCache,请改用APCu。Memcached和Redis可以替代APCu,在独立系统上不太方便,因为它们必须单独设置,与APCu相比并没有真正的优势,但是如果您运行多个PHP进程或设置系统网络(它们都可以依靠)则非常方便在中央缓存位置上。

4.7
04
HTML5信息推送
GraphQL介绍
嘻嘻

嘻嘻IT: 笔者是一个工作七八年的程序猿老鸟,从事涉及的技术栈主要包括PHP、Linux、Devops等,喜欢研究新技术,尝试新技术,提升技术自动化和开发效率,致力于write less,do more! 技术每年都会层出不穷,领域划分的越来越细,不可能学习所有的东西,保持对技术的好奇心,理解技术中核心思想,做一个有深度,有思想的开发!

Recent Posts

Seodity:提升SEO分析和内容创建

Seodity作为SEO分析的…

3小时 ago

SocialBee一款AI社交媒体内容生成器

SocialBee的AI帖子生…

3小时 ago

雪橇云VPN五一活动来了!全场15%的折扣!

雪橇云VPN一款是稳定全球多节…

4小时 ago

Autojump一个linux目录快速跳转的命令工具

Linux命令行实用程序有一个…

2天 ago

Groq一款语言处理的超快AI解决方案

Groq正在AI创新的最前沿,…

2天 ago