Je cache le tampon de sortie des pages récemment, mais je veux maintenant mettre en cache les valeurs des variables. P>
J'ai un fichier PHP qui fait un tas de requêtes MySQL, puis remplit des variables avec diverses données de ces requêtes. P>
Certaines de ces variables ne changent jamais i> mais certaines changeront assez souvent. Comment puis-je mettre en cache certaines variables de cette manière? J'utilise la mise en cache à base de fichiers, si cela aide. P>
4 Réponses :
Je ne sais pas, comment vous avez structuré vos trucs de mise en cache actuelles. Il s'agit simplement d'un modèle court sur la manière dont vous pouvez enregistrer n'importe quel type de variable (tant que son contenu est sérialisable) à un fichier.
file_put_contents($filename, serialize($variable));
Yup, la mise en cache basée sur des fichiers est une option. p>
Il existe également d'autres options telles que memcache et APC P>
Vous devriez aussi regarder cela aussi. Si votre application met beaucoup de charge sur votre serveur MySQL, et si votre DB est déjà optimisé, la mise en cache est une étape que vous pouvez prendre. P>
Vous pouvez jeter une variable (y compris un tableau) en utilisant sérialiser , et L'inverse est non désériorize . P>
Le dumping dans un fichier serait une solution de cache inutile, vous pouvez envisager d'utiliser MemCache qui peut stocker toute variable en mémoire, mais nécessite des travaux sur le côté serveur. P>
Je trouve qu'un mySQL local avec des tables de mémoire peut être utile, aussi ... p>
Étant donné que vous avez posé des questions sur la mise en cache basée sur fichier, les deux Pour la mise en cache basée sur des fichiers, je vous recommanderais d'utiliser un cadre de mise en cache. Par exemple, vous pouvez utiliser Memcache code> et
APC code> ne sont pas une option, bien que je recommande certainement les deux dans les cas où les données stockées ne sont pas trop grandes . p>
zend_cache code> dans le cadre
zend code>. Il vous permet de stocker vos résultats de la requête dans des fichiers à l'aide d'une belle interface orientée objet. De plus, vous avez beaucoup d'options, telles que la validation et la sérialisation. Il existe également d'autres frayères de mise en cache là-bas. P>
Dupliqué possible de écrire un système de mise en cache simple dans PHP et de nombreux autres autres
Pouvez-vous clarifier votre question? Si vous avez déjà un mécanisme de cache, quel est le problème?
À moins que le site ne soit énorme et mal écrit (lent) toute augmentation de vitesse sera négligeable.