Table des matières
PHP中9大缓存技术总结
1、全页面静态化缓存
2、页面部分缓存
3、数据缓存
4、查询缓存
5、按内容变更进行缓存
6、内存式缓存
7、apache缓存模块
8、php APC缓存扩展
9、Opcode缓存
Maison développement back-end tutoriel php PHP中9大缓存技术总结_PHP教程

PHP中9大缓存技术总结_PHP教程

Jul 12, 2016 am 09:08 AM
apc缓存

PHP中9大缓存技术总结

1、全页面静态化缓存

也就是将页面全部生成html静态页面,用户访问时直接访问的静态页面,而不会去走php服务器解析的流程。此种方式,在CMS系统中比较常见,比如dedecms;

一种比较常用的实现方式是用输出缓存:

<code><span class="typ">Ob_start<span class="pun">()<span class="pln">
<span class="pun">******要运行的代码*******<span class="pln">
$content <span class="pun">=<span class="pln"> <span class="typ">Ob_get_contents<span class="pun">();<span class="pln">
<span class="pun">****将缓存内容写入<span class="pln">html<span class="pun">文件*****<span class="pln">
<span class="typ">Ob_end_clean<span class="pun">();</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></code>
Copier après la connexion

2、页面部分缓存

该种方式,是将一个页面中不经常变的部分进行静态缓存,而经常变化的块不缓存,最后组装在一起显示;可以使用类似于ob_get_contents的方式实现,也可以利用类似ESI之类的页面片段缓存策略,使其用来做动态页面中相对静态的片段部分的缓存(ESI技术,请baidu,此处不详讲)。

该种方式可以用于如商城中的商品页;

3、数据缓存

顾名思义,就是缓存数据的一种方式;比如,商城中的某个商品信息,当用商品id去请求时,就会得出包括店铺信息、商品信息等数据,此时就可以将这些数据缓存到一个php文件中,文件名包含商品id来建一个唯一标示;下一次有人想查看这个商品时,首先就直接调这个文件里面的信息,而不用再去数据库查询;其实缓存文件中缓存的就是一个php数组之类;

Ecmall商城系统里面就用了这种方式;

4、查询缓存

其实这跟数据缓存是一个思路,就是根据查询语句来缓存;将查询得到的数据缓存在一个文件中,下次遇到相同的查询时,就直接先从这个文件里面调数据,不会再去查数据库;但此处的缓存文件名可能就需要以查询语句为基点来建立唯一标示;

按时间变更进行缓存

其实,这一条不是真正的缓存方式;上面的2、3、4的缓存技术一般都用到了时间变更判断;就是对于缓存文件您需要设一个有效时间,在这个有效时间内,相同的访问才会先取缓存文件的内容,但是超过设定的缓存时间,就需要重新从数据库中获取数据,并生产最新的缓存文件;比如,我将我们商城的首页就是设置2个小时更新一次;

5、按内容变更进行缓存

这个也并非独立的缓存技术,需结合着用;就是当数据库内容被修改时,即刻更新缓存文件;
比如,一个人流量很大的商城,商品很多,商品表必然比较大,这表的压力也比较重;我们就可以对商品显示页进行页面缓存;

当商家在后台修改这个商品的信息时,点击保存,我们同时就更新缓存文件;那么,买家访问这个商品信息时,实际上访问的是一个静态页面,而不需要再去访问数据库;

试想,如果对商品页不缓存,那么每次访问一个商品就要去数据库查一次,如果有10万人在线浏览商品,那服务器压力就大了;

6、内存式缓存

提到这个,可能大家想到的首先就是Memcached;memcached是高性能的分布式内存缓存服务器。 一般的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度、 提高可扩展性。

它就是将需要缓存的信息,缓存到系统内存中,需要获取信息时,直接到内存中取;比较常用的方式就是 key–>value方式;

<code><span class="pun"><?<span class="pln">php 
     $memcachehost <span class="pun">=<span class="pln"> <span class="str">&#39;192.168.6.191&#39;<span class="pun">;<span class="pln">
     $memcacheport <span class="pun">=<span class="pln"> <span class="lit">11211<span class="pun">;<span class="pln">
     $memcachelife <span class="pun">=<span class="pln"> <span class="lit">60<span class="pun">;<span class="pln">
     $memcache <span class="pun">=<span class="pln"> <span class="kwd">new<span class="pln"> <span class="typ">Memcache<span class="pun">;<span class="pln">
     $memcache<span class="pun">-><span class="pln">connect<span class="pun">(<span class="pln">$memcachehost<span class="pun">,<span class="pln">$memcacheport<span class="pun">)<span class="pln"> <span class="kwd">or<span class="pln"> <span class="kwd">die<span class="pln"> <span class="pun">(<span class="str">"Could not connect"<span class="pun">);<span class="pln">
     $memcache<span class="pun">-><span class="kwd">set<span class="pun">(<span class="str">&#39;key&#39;<span class="pun">,<span class="str">&#39;缓存的内容&#39;<span class="pun">);<span class="pln">
     $get <span class="pun">=<span class="pln"> $memcache<span class="pun">-><span class="kwd">get<span class="pun">(<span class="pln">$key<span class="pun">);<span class="pln">       <span class="com">//获取信息<span class="pln">
<span class="pun">?></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></code>
Copier après la connexion

7、apache缓存模块

apache安装完以后,是不允许被cache的。如果外接了cache或squid服务器要求进行web加速的话,就需要在htttpd.conf里进行设置,当然前提是在安装apache的时候要激活mod_cache的模块。

安装apache时:./configure –enable-cache –enable-disk-cache –enable-mem-cache

8、php APC缓存扩展

Php有一个APC缓存扩展,windows下面为php_apc.dll,需要先加载这个模块,然后是在php.ini里面进行配置:

<code><span class="pun">[<span class="pln">apc<span class="pun">]<span class="pln"> 
     extension<span class="pun">=<span class="pln">php_apc<span class="pun">.<span class="pln">dll 
     apc<span class="pun">.<span class="pln">rfc1867 <span class="pun">=<span class="pln"> on 
     upload_max_filesize <span class="pun">=<span class="pln"> <span class="lit">100M<span class="pln"> 
     post_max_size <span class="pun">=<span class="pln"> <span class="lit">100M<span class="pln"> 
     apc<span class="pun">.<span class="pln">max_file_size <span class="pun">=<span class="pln"> <span class="lit">200M<span class="pln"> 
     upload_max_filesize <span class="pun">=<span class="pln"> <span class="lit">1000M<span class="pln"> 
     post_max_size <span class="pun">=<span class="pln"> <span class="lit">1000M<span class="pln"> 
     max_execution_time <span class="pun">=<span class="pln"> <span class="lit">600<span class="pln"> <span class="pun">;<span class="pln">   <span class="pun">每个<span class="pln">PHP<span class="pun">页面运行的最大时间值(秒),默认<span class="lit">30<span class="pun">秒<span class="pln"> 
     max_input_time <span class="pun">=<span class="pln"> <span class="lit">600<span class="pln"> <span class="pun">;<span class="pln">       <span class="pun">每个<span class="pln">PHP<span class="pun">页面接收数据所需的最大时间,默认<span class="lit">60<span class="pln"> 
     memory_limit <span class="pun">=<span class="pln"> <span class="lit">128M<span class="pln"> <span class="pun">;<span class="pln">       <span class="pun">每个<span class="pln">PHP<span class="pun">页面所吃掉的最大内存,默认<span class="lit">8M</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></code>
Copier après la connexion

9、Opcode缓存

我们知道,php的执行流程可以用下图来展示:
图片描述
首先php代码被解析为Tokens,然后再编译为Opcode码,最后执行Opcode码,返回结果;所以,对于相同的php文件,第一次运行时可以缓存其Opcode码,下次再执行这个页面时,直接会去找到缓存下的opcode码,直接执行最后一步,而不再需要中间的步骤了。

比较知名的是XCache、Turck MM Cache、PHP Accelerator等。


www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1056559.htmlTechArticlePHP中9大缓存技术总结 1、全页面静态化缓存 也就是将页面全部生成html静态页面,用户访问时直接访问的静态页面,而不会去走php服务器解...
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Pratique d'application de la technologie de mise en cache APC en PHP Pratique d'application de la technologie de mise en cache APC en PHP Jun 19, 2023 pm 07:16 PM

Avec le développement d'Internet et la quantité croissante de traitement de données, de nombreux sites Web doivent traiter une grande quantité de requêtes de données et de calculs, ce qui nécessite un mécanisme de mise en cache efficace pour optimiser la vitesse d'accès au site Web. APC (AlternativePHPCache) est une technologie de mise en cache couramment utilisée dans le langage PHP. Elle peut améliorer les performances et la vitesse de réponse du site Web. Cet article présentera les principes de base de la technologie de mise en cache APC et sa pratique d'application en PHP. 1. Principe de la technologie de mise en cache APC APC est une technologie de mise en cache open source qui peut

Solution de la technologie de mise en cache APC pour utiliser l'itération du curseur dans les applications basées sur PHP Solution de la technologie de mise en cache APC pour utiliser l'itération du curseur dans les applications basées sur PHP Jun 19, 2023 pm 11:30 PM

Avec le développement d'applications Internet, PHP, en tant que langage de développement populaire, est largement utilisé dans le développement d'applications Web. Cependant, dans le développement réel, nous rencontrons souvent des goulots d'étranglement en termes de performances, empêchant l'application de répondre aux besoins des utilisateurs. L'un des goulots d'étranglement courants concerne les problèmes de performances provoqués par les requêtes de base de données. Afin de résoudre ce problème, nous pouvons utiliser certaines technologies de mise en cache, parmi lesquelles la technologie de mise en cache APC est une bonne option. APC (AlternativePHPCache) est

Comment utiliser APC pour l'optimisation de la mise en cache des données PHP ? Comment utiliser APC pour l'optimisation de la mise en cache des données PHP ? Aug 10, 2023 am 10:30 AM

Comment utiliser APC pour l'optimisation de la mise en cache des données PHP ? Introduction : Au cours du processus de développement, nous rencontrons souvent des situations où nous devons fréquemment lire les données de la base de données et les traiter. Dans ce cas, afin d'améliorer les performances et de réduire la pression d'accès sur la base de données, nous pouvons utiliser le cache pour stocker les données interrogées. APC (AlternativePHPCache) est une extension PHP couramment utilisée qui nous permet de mettre en cache les données en mémoire pour accélérer les applications PHP. Cet article explique comment utiliser A

Scénarios d'application d'utilisation de la technologie de mise en cache APC pour la mise en cache dynamique des données dans les applications PHP Scénarios d'application d'utilisation de la technologie de mise en cache APC pour la mise en cache dynamique des données dans les applications PHP Jun 21, 2023 pm 04:01 PM

À mesure que les applications Web deviennent de plus en plus complexes, la mise en cache dynamique des données est devenue une technologie nécessaire. APC (AlternativePHPCache), en tant que technologie de mise en cache mémoire, peut considérablement améliorer les performances et la vitesse de réponse des applications Web. Cet article présentera les scénarios d'application d'utilisation de la technologie de mise en cache APC pour la mise en cache dynamique des données dans les applications PHP. Cache de données avec une fréquence d'accès élevée Certaines données sont fréquemment consultées dans les applications Web Si elles sont lues à partir de la base de données à chaque fois, les performances de l'application seront sérieusement affectées. À l'heure actuelle, ceux-ci peuvent être

L'effet d'optimisation de la technologie de mise en cache APC sur les performances des applications PHP L'effet d'optimisation de la technologie de mise en cache APC sur les performances des applications PHP Jun 19, 2023 pm 06:28 PM

Avec le développement continu des applications Internet, de plus en plus de logique métier est intégrée aux applications Web. La vitesse des applications Web est affectée par de nombreux facteurs, tels que les performances du matériel, la bande passante du réseau, les performances des bases de données, etc., qui doivent être continuellement optimisés. Parmi elles, la technologie de mise en cache est une méthode d'optimisation largement utilisée dans les applications Web, et la technologie de mise en cache APC est une technologie de mise en cache utilisée dans les applications PHP. 1. Introduction à la technologie de mise en cache APC Le nom complet d'APC est AlternativePHPCach.

Scénarios d'application utilisant la technologie de mise en cache APC pour implémenter une analyse de requêtes agrégées dans des applications basées sur PHP Scénarios d'application utilisant la technologie de mise en cache APC pour implémenter une analyse de requêtes agrégées dans des applications basées sur PHP Jun 20, 2023 pm 09:24 PM

La technologie de mise en cache APC est une technologie de mise en cache basée sur PHP qui peut améliorer les performances des applications tout en réduisant la charge du serveur. Dans les applications basées sur PHP, la technologie de mise en cache APC peut mettre en œuvre une analyse agrégée des requêtes, améliorant ainsi l'efficacité des applications et l'expérience utilisateur. L'analyse de requête agrégée fait référence à la fusion de plusieurs résultats de requête pour obtenir des résultats d'analyse de données plus complets et plus complets. Lors du traitement de grandes quantités de données, l'analyse globale des requêtes peut nous aider à capturer des informations importantes dans les données, à améliorer l'efficacité du traitement des données et à réduire le besoin de maintenance du serveur.

Conseils d'optimisation des performances PHP 7 : Comment utiliser le cache APC pour accélérer l'exécution du script Conseils d'optimisation des performances PHP 7 : Comment utiliser le cache APC pour accélérer l'exécution du script Jul 29, 2023 pm 08:29 PM

Conseils d'optimisation des performances PHP7 : Comment utiliser la mise en cache APC pour accélérer l'exécution des scripts Introduction : Avec la complexité croissante des applications réseau et le nombre croissant d'utilisateurs, l'optimisation des performances des scripts PHP est devenue particulièrement importante. Une méthode d'optimisation courante consiste à utiliser la mise en cache pour réduire le temps d'exécution du script. En PHP, APC (AlternativePHPCache) est un outil de mise en cache largement utilisé qui peut améliorer considérablement les performances des scripts. Cet article explique comment utiliser la mise en cache APC pour accélérer l'exécution des scripts PHP7.

Avantages de l'utilisation de la technologie de mise en cache APC dans les applications PHP Avantages de l'utilisation de la technologie de mise en cache APC dans les applications PHP Jun 20, 2023 pm 09:18 PM

Avec le développement d'Internet, PHP, en tant que langage de programmation Web populaire, est largement utilisé dans le développement de sites Web et d'applications. Dans les applications PHP, la technologie de mise en cache peut améliorer les performances et l'évolutivité des applications, tout en réduisant la pression sur la charge du serveur. Parmi elles, la technologie de mise en cache APC est l'une des technologies de mise en cache couramment utilisées, qui peut améliorer efficacement la vitesse de réponse et l'efficacité des applications. La technologie de mise en cache APC est un plug-in de mise en cache intégré à PHP, dont le nom complet est AlternativePHPCache. Il peut mettre en cache la compilation

See all articles