2009-10-19 6 views
6

Je suis vraiment intreagued par les aspects généraux de cache d'APC et que vous voulez utiliser dans mon code (ce que je sais comment faire, c'est pas le problème).PHP: Utiliser APC comme cache général, XCache comme opcache, possible?

Cependant, j'utilise XCache comme opcache maintenant et je veux continuer à le faire puisque je l'ai ajusté "juste" pour mes besoins particuliers. La raison pour laquelle je veux utiliser le cache APC comme cache général est que je ne suis pas content de PEAR :: Cache_Lite de Pear en termes d'utilisation pour la mise en cache des variables car il les stocke sur le disque, et les E/S disque est un goulot d'étranglement alors que RAM ne l'est pas et APC stocke les variables dans la RAM, pas dans les fichiers sur le disque. Donc, tout le monde a une expérience ou sait s'il est possible de configurer APC pour qu'il fonctionne comme un cache général (appelé via son API dans mon code PHP, de la même manière que PEAR :: Cache_Lite) pendant que je maintiens un autre opcache (dans mon cas, xcache).

Merci.

+0

Personne ne savait vraiment quoi que ce soit à ce sujet? – Adergaard

Répondre

0

Les paramètres de configuration d'exécution ont les suivantes:...

apc.optimization 0 « Le niveau d'optimisation zéro désactive l'optimiseur, et des valeurs plus élevées utilisent des optimisations agressives Attendez-vous à des améliorations très modestes de vitesse C'est expérimental."

http://www.php.net/manual/en/apc.configuration.php#ini.apc.enabled

5

Xcache fonctionne également comme un cache général. Juste comme APC. Utilisez simplement Xcache!

mixed xcache_get(string name) 
bool xcache_set(string name, mixed value [, int ttl]) 
bool xcache_isset(string name) 
bool xcache_unset(string name) 
bool xcache_unset_by_prefix(string prefix) 
int xcache_inc(string name [, int value [, int ttl]]) 
int xcache_dec(string name [, int value [, int ttl]]) 

Here is the API

0

Avoir les deux caches essayant d'exécuter en même temps ne serait pas possible. Ils essaieraient de s'accrocher au même système. Choisissez-en un.

Il suit maintenant la prise standard pour l'autre technologie que vous n'utilisez pas:

Techniquement et vitesse sage, il n'y a pas grand-chose, bien que je l'ai vu des rapports que l'APC fait mieux à inclure des fichiers et en particulier avec des techniques telles que le chargement automatique (par exemple avec Zend_loader). APC a un accès facile (pecl install ...), et c'est un projet PHP 'plus officiel' que l'autre système de cache. J'ai utilisé APC pour un grand impact, pour les opcodes standard et aussi pour un nombre significatif de variables, avec des TTL allant de 30 secondes (combien de personnes en ligne en ce moment), à 24 heures ou plus (méta de table de base de données). -information).

1

Vous pouvez utiliser les deux caches, mais ils se chevauchent tous deux en termes de fonctionnalités. Donc, idéalement, vous devriez configurer APC pour ne mettre en cache que les fichiers, et XCache comme OPCache.S'il vous plaît vérifier les points suivants comparison of features:

Comparison of features for PHP accelerators such as APC, eAccelerator, XCache, Zend Opcache

Pour PHP> = 5.5 APC a été interrompu, par conséquent, vous devez utiliser XCache ou Zend Opcache comme principal accélérateur de PHP pour la mise en cache.