Table des matières
PHP缓存之模块缓存(APC)
Maison php教程 php手册 PHP缓存之模块缓存(APC)

PHP缓存之模块缓存(APC)

Jun 13, 2016 am 09:26 AM
模块 缓存

PHP缓存之模块缓存(APC)

APC是Alternative PHP Cache的简称,是 PHP 的一个免费公开的优化代码缓存。它用来提供免费,公开并且强健的架构来缓存和优化 PHP 的中间代码。

1、PHP配置APC

开启APC模块,需要将 extension=php_apc.dll 前面的注释去掉即可。
APC模块的配置参数如下:

apc.enabled

类型:布尔型
apc.enabled 可以被设成 0 来禁用 APC。这主要是有用的,当 APC 被静态编译入 PHP 时,因为没有其它方法来禁用它(当编译为 DSO 的时候,可以将 php.ini 中的 extension 行注释掉)。

apc.shm_segments

类型: 整型
对编译缓存分配共享内存块的数量。如果APC用光了共享内存,而且你已经设置 apc.shm_size为系统允许的最大值的情况下,你可以试着去提高这个参数的值。

apc.shm_size

类型:整型
每个共享内存块的大小是以MB为单位的。在默认情况下,一些系统(包括大多数BSD变种系统)的共享内存块的大小限制的很低。

apc.optimization

类型:整型
优化等级。设为0则禁用优化,越高的值使用越强有力的优化。期待有适度的速度上的改进。这个还是实验性质的。

apc.num_files_hint

类型: 整型
对在你的Web服务器上被包含和请求的不同的源文件的数量的提示。如果你无法确定,设置为0或者省略;这个设置主要可能用于有成千的源文件的站点。

apc.ttl

类型:整型
当一个缓存条目在缓存区的位置被另一个条目需要时,我们需要考虑的是这个缓存条目在缓存区的位置被允许空闲的秒数。将这个参数设置为0意味着你的缓存可能 充满不新鲜的条目,同时导致新的条目无法被缓存。

apc.gc_ttl

类型:整型
缓存条目在垃圾收集列表中存活的秒数。这个值提供了出错保护在执行一个缓存源文件,而同时服务器进程死了的事件中。如果那个源文件被修改,内存分配给旧版 本的缓存条目将不会被回收,直到这个参数设定的TTL值到的时候。设置为0就是禁止这个特性。

apc.cache_by_default

类型:布尔型
默认为On,但可以被设置为Off并和以加号开头的apc.filters配合使用,文件仅仅在匹配过滤器时才被缓存。

apc.filters

类型:字符串
一个以逗号分割的POSIX扩展正则表达式的列表。如果任何模式匹配源文件名,这个文件将不会被缓存。注意用来匹配的文件名是传递给 include/require 的文件名,而不是绝对路径。如果正则表达式的第一个字符是 + ,则这个表达式就意味着任何匹配表达式的文件将会被缓存,如果第一个字符是 - 则任何匹配都不会被缓存。 - 是默认值,所以可以被省略。

apc.mmap_file_mask

类型:字符串
如果使用–enable-mmap(默认启用)为APC编译了MMAP支持,这里的值就是传递给mmap模块的mktemp风格的文件掩码(建议值为”/tmp/apc.XXXXXX”)。该掩码用于决定内存映射区域是否要被file-backed或者shared memory backed。对于直接的file-backed内存映射,要设置成”/tmp/apc.XXXXXX”的样子(恰好6个X)。要使用POSIX风格的shm_open/mmap就需要设置成”/apc.shm.XXXXXX”的样子。你还可以设为”/dev/zero”来为匿名映射的内存使用内核的”/dev/zero”接口。不定义此指令则表示强制使用匿名映射。


apc.slam_defense

类型:整型
在非常繁忙的服务器上,无论你启动服务还是修改文件,你都会导致一种多进程都试图在同一个时间缓存同一个文件的竞争。这个选项设置了进程跳过试图去缓存一 个未被缓存的文件的百分比。或者可以把这个想象成一个单独进程跳过缓存的机率。例如,设置apc.slam_defense为75就意味着进程有75%的 机率不去缓存未被缓存的文件。所以,设置的越高,越能减少缓存的碰撞机率。设置为0则禁用这个特性。

apc.file_update_protection

类型:整型
当你在一个运行着的服务器上修改文件时,你应该执行原子操作。也就是,先写一个临时文件,当写完后再重命名(mv)这个文件到它的最终位置。许多文本编辑 器,cp,tar和其他一些类似程序都不是这样操作的。这就意味着有机会去访问和(缓存)文件,当这个文件还在被写的情况下。 apc.file_update_protection的设置使得缓存标记新文件的延迟。默认值是2,意味着如果发现文件的修改时间距离访问时间不到2 秒,文件将不会被缓存。访问写到一半的文件的不幸用户将会看到离奇的情况,但至少这种情况不是持续的。如果你确信你经常使用原子操作来更新你的文件,你可 以关闭这个保护通过设置这个参数为0。如果你的系统充满io操作,并导致更新程序花费超过2秒,你可能需要去增大这个值。

apc.enable-cli

类型:整型
大多是为了测试和调试。为CLI版本的PHP开启动APC功能。一般来说,你将不会想到为每一个 CLI请求创建,移植和放弃APC的缓存,但对于各种测试情况,这是很容易的为了CLI版本开启APC。


案例:
apc.enabled = 1
apc.shm_segments = 1
apc.shm_size = 64
apc.optimization = 0
apc.num_files_hint = 1000
apc.ttl = 0
apc.gc_ttl = 3600
apc.cache_by_default = On
apc.slam_defense = 0
apc.file_update_protection = 2
apc.enable_cli = 0
apc.stat=0

2、APC缓存案例

<?php
class Cache_Driver{


    //获取缓存信息
	public function get($id)
	{
	   $data = apc_fetch($id);
	   if (!is_array($data))
	   {
            $data = apc_fetch($id);
       }

		return (is_array($data)) ? $data[0] : FALSE;
	}
	//设置缓存信息
	public function set($id, $data, $ttl = 60)
	{
		return apc_store($id, array($data, time(), $ttl), $ttl);
	}
	//删除key值对应的缓存
	public function delete($id)
	{
		return apc_delete($id);
	}
}
?>
Copier après la connexion


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

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

<🎜>: Dead Rails - Comment apprivoiser les loups
4 Il y a quelques semaines By DDD
Niveaux de force pour chaque ennemi et monstre de R.E.P.O.
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
<🎜>: Grow A Garden - Guide de mutation complet
2 Il y a quelques semaines By DDD

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)

Sujets chauds

Tutoriel Java
1658
14
Tutoriel PHP
1257
29
Tutoriel C#
1231
24
Le module d'extension WLAN s'est arrêté [correctif] Le module d'extension WLAN s'est arrêté [correctif] Feb 19, 2024 pm 02:18 PM

S'il y a un problème avec le module d'extension WLAN sur votre ordinateur Windows, cela peut entraîner une déconnexion d'Internet. Cette situation est souvent frustrante, mais heureusement, cet article propose quelques suggestions simples qui peuvent vous aider à résoudre ce problème et à rétablir le bon fonctionnement de votre connexion sans fil. Réparer le module d'extensibilité WLAN s'est arrêté Si le module d'extensibilité WLAN a cessé de fonctionner sur votre ordinateur Windows, suivez ces suggestions pour le réparer : Exécutez l'utilitaire de résolution des problèmes réseau et Internet pour désactiver et réactiver les connexions réseau sans fil Redémarrez le service de configuration automatique WLAN Modifier les options d'alimentation Modifier Paramètres d'alimentation avancés Réinstaller le pilote de la carte réseau Exécuter certaines commandes réseau Examinons-le maintenant en détail

Le module d'extensibilité WLAN ne peut pas démarrer Le module d'extensibilité WLAN ne peut pas démarrer Feb 19, 2024 pm 05:09 PM

Cet article détaille les méthodes permettant de résoudre l'événement ID10000, qui indique que le module d'extension LAN sans fil ne peut pas démarrer. Cette erreur peut apparaître dans le journal des événements du PC Windows 11/10. Le module d'extensibilité WLAN est un composant de Windows qui permet aux fournisseurs de matériel indépendants (IHV) et aux fournisseurs de logiciels indépendants (ISV) de fournir aux utilisateurs des fonctionnalités de réseau sans fil personnalisées. Il étend les fonctionnalités des composants réseau Windows natifs en ajoutant la fonctionnalité par défaut de Windows. Le module d'extensibilité WLAN est démarré dans le cadre de l'initialisation lorsque le système d'exploitation charge les composants réseau. Si le module d'extension LAN sans fil rencontre un problème et ne peut pas démarrer, vous pouvez voir un message d'erreur dans le journal de l'Observateur d'événements.

Où sont stockés les fichiers vidéo dans le cache du navigateur ? Où sont stockés les fichiers vidéo dans le cache du navigateur ? Feb 19, 2024 pm 05:09 PM

Dans quel dossier le navigateur met-il la vidéo en cache ? Lorsque nous utilisons le navigateur Internet quotidiennement, nous regardons souvent diverses vidéos en ligne, comme regarder des clips vidéo sur YouTube ou regarder des films sur Netflix. Ces vidéos seront mises en cache par le navigateur pendant le processus de chargement afin qu'elles puissent être chargées rapidement lors d'une nouvelle lecture ultérieure. La question est donc de savoir dans quel dossier ces vidéos mises en cache sont réellement stockées ? Différents navigateurs stockent les dossiers vidéo mis en cache à différents emplacements. Ci-dessous, nous présenterons plusieurs navigateurs courants et leurs

Comment afficher et actualiser le cache DNS sous Linux Comment afficher et actualiser le cache DNS sous Linux Mar 07, 2024 am 08:43 AM

DNS (DomainNameSystem) est un système utilisé sur Internet pour convertir les noms de domaine en adresses IP correspondantes. Dans les systèmes Linux, la mise en cache DNS est un mécanisme qui stocke localement la relation de mappage entre les noms de domaine et les adresses IP, ce qui peut augmenter la vitesse de résolution des noms de domaine et réduire la charge sur le serveur DNS. La mise en cache DNS permet au système de récupérer rapidement l'adresse IP lors d'un accès ultérieur au même nom de domaine sans avoir à émettre une requête de requête au serveur DNS à chaque fois, améliorant ainsi les performances et l'efficacité du réseau. Cet article expliquera avec vous comment afficher et actualiser le cache DNS sous Linux, ainsi que les détails associés et des exemples de code. Importance de la mise en cache DNS Dans les systèmes Linux, la mise en cache DNS joue un rôle clé. son existence

Accélérez vos applications : un guide simple sur la mise en cache Guava Accélérez vos applications : un guide simple sur la mise en cache Guava Jan 31, 2024 pm 09:11 PM

Premiers pas avec Guava Cache : accélérez vos applications Guava Cache est une bibliothèque de mise en cache en mémoire hautes performances qui peut améliorer considérablement les performances des applications. Il fournit une variété de stratégies de mise en cache, notamment LRU (la moins récemment utilisée), LFU (la moins récemment utilisée) et TTL (durée de vie). 1. Installez le cache Guava et ajoutez la dépendance de la bibliothèque de cache Guava à votre projet. com.goog

La relation entre CPU, mémoire et cache est expliquée en détail ! La relation entre CPU, mémoire et cache est expliquée en détail ! Mar 07, 2024 am 08:30 AM

Il existe une interaction étroite entre le CPU (unité centrale de traitement), la mémoire (mémoire vive) et le cache, qui forment ensemble un composant essentiel d'un système informatique. La coordination entre eux assure le fonctionnement normal et les performances efficaces de l'ordinateur. En tant que cerveau de l'ordinateur, le processeur est responsable de l'exécution de diverses instructions et du traitement des données ; la mémoire est utilisée pour stocker temporairement des données et des programmes, offrant des vitesses d'accès en lecture et en écriture rapides et le cache joue un rôle tampon, accélérant l'accès aux données ; vitesse et amélioration Le processeur de l'ordinateur est le composant central de l'ordinateur et est responsable de l'exécution de diverses instructions, opérations arithmétiques et opérations logiques. Il est appelé le « cerveau » de l’ordinateur et joue un rôle important dans le traitement des données et l’exécution des tâches. La mémoire est un périphérique de stockage important dans un ordinateur.

Les fichiers HTML seront-ils mis en cache ? Les fichiers HTML seront-ils mis en cache ? Feb 19, 2024 pm 01:51 PM

Titre : Mécanisme de mise en cache et exemples de code de fichiers HTML Introduction : Lors de la rédaction de pages Web, nous rencontrons souvent des problèmes de cache du navigateur. Cet article présentera en détail le mécanisme de mise en cache des fichiers HTML et fournira quelques exemples de code spécifiques pour aider les lecteurs à mieux comprendre et appliquer ce mécanisme. 1. Principe de mise en cache du navigateur Dans le navigateur, chaque fois qu'une page Web est consultée, le navigateur vérifie d'abord s'il y a une copie de la page Web dans le cache. Si tel est le cas, le contenu de la page Web est obtenu directement à partir du cache. C'est le principe de base de la mise en cache du navigateur. Avantages du mécanisme de mise en cache du navigateur

Utilisation avancée de PHP APCu : libérer la puissance cachée Utilisation avancée de PHP APCu : libérer la puissance cachée Mar 01, 2024 pm 09:10 PM

PHPAPCu (remplacement du cache php) est un module de cache d'opcodes et de cache de données qui accélère les applications PHP. Comprendre ses fonctionnalités avancées est crucial pour utiliser tout son potentiel. 1. Opération par lots : APCu fournit une méthode d'opération par lots qui peut traiter un grand nombre de paires clé-valeur en même temps. Ceci est utile pour la suppression du cache ou les mises à jour à grande échelle. //Obtenir les clés de cache par lots $values=apcu_fetch(["key1","key2","key3"]); //Effacer les clés de cache par lots apcu_delete(["key1","key2","key3"]) ;2 .Définir le délai d'expiration du cache : APCu vous permet de définir un délai d'expiration pour les éléments du cache afin qu'ils expirent automatiquement après une heure spécifiée.

See all articles