Maison > développement back-end > tutoriel php > Analyse des raisons pour lesquelles Yii CFileCache ne peut pas obtenir la valeur

Analyse des raisons pour lesquelles Yii CFileCache ne peut pas obtenir la valeur

不言
Libérer: 2023-04-01 17:30:01
original
1436 Les gens l'ont consulté

Cet article présente principalement l'analyse des raisons pour lesquelles Yii CFileCache ne peut pas obtenir la valeur. Il est très bon et a une valeur de référence. Les amis qui en ont besoin peuvent s'y référer

Je l'ai configuré dans le fichier de configuration.

‘cache'=>array(
‘class'=>'system.caching.CFileCache',
),
Copier après la connexion

Définissez-le dans le contrôleur

return array(
array(
‘COutputCache+pro',
‘duration'=>86400,
‘varyByParam'=>array(‘id'),
),
Copier après la connexion

Puis ouvrez le base de données‘schemaCachingDuration'=>3600,

Quand je l'ai utilisé pour la première fois, il y avait un fichier cache et j'ai trouvé que cela accélérait beaucoup l'accès

Mais avec le temps, après une certaine période de temps, peut-être 10 minutes, j'ai trouvé le cache sous runtime/cache Le fichier a soudainement disparu

Je ne connais pas la raison, je l'ai suivi pendant longtemps avant de découvrir ce problème

De plus, j'ai également découvert qu'il y avait d'autres dossiers dans le répertoire de cache. 0a d6 63 3a Je ne sais pas comment ils ont été nommés. Qu'est-ce que cela fait ?

La raison pour laquelle les fichiers mis en cache ont soudainement disparu en attendant. en ligne ?

Les fichiers mis en cache dans l'espace de données du lecteur D sont très volumineux

1 La mise en mémoire tampon de Yii doit être configurée dans main.php,

<🎜. >

/****************/
‘cache&#39; => array (
‘class&#39; => ‘system.caching.CFileCache&#39;
)
Copier après la connexion

Une fois la configuration terminée, il vous suffit de la configurer dans le contrôleur....

Yii::app ()->cache->set($key,$value,$expire);
Yii::app ()->cache->get($key);
Copier après la connexion

2. Configurer plusieurs caches

configuration main.php

‘cache&#39; => array (
‘class&#39; => ‘system.caching.CFileCache&#39;
),
‘dbcache&#39; => array (
‘class&#39; => ‘system.caching.CDbCache&#39;
)
Copier après la connexion

Le contrôleur il suffit d'appeler avec l'ID de cache correspondant

tel que :

Yii::app ()->dbcache

3 La mise en mémoire tampon de page signifie la statique de page

configuration main.php. est toujours le même

Contrôleur : Vous pouvez utiliser la classe COutputCache comme filtre de comportement dans notre classe de contrôleur.

public function filters() {
return array (
array (
‘COutputCache&#39;,
‘duration&#39; => 600,
‘ varyByParam&#39; => array(‘id&#39;)
)
);
}
Copier après la connexion

COutputCache est utilisé comme stratégie pour générer automatiquement des noms de clés lors de la mise en cache des données. Voici une liste de ceux qui peuvent être utilisés :

varyByRoute : En définissant cette option sur true, la partie routage d'une requête spécifique sera utilisée dans le cadre d'un identifiant distinct pour générer des données de cache. Par conséquent, vous pouvez utiliser une combinaison de contrôleur de requête et d'action pour différencier le contenu mis en cache.

varyBySession : En définissant cette option sur true, un identifiant de session unique sera utilisé pour différencier le contenu dans le cache. La session de chaque utilisateur est différente, mais peut être utilisée pour servir le cache.

varyByParam : Comme mentionné précédemment, les paramètres de l'entrée GET sont utilisés pour distinguer le contenu du cache.

varyByExpression : Définissez une expression PHP pour cette option. Nous pouvons utiliser le résultat de l'expression correspondante pour distinguer le contenu mis en cache.

Notez également que l'ID de cache par défaut de COutputCache est le cache

4. Cache de fragments

Le cache de fragments est utilisé pour mettre en cache une partie d'une page. Nous pouvons utiliser la mise en cache de fragments dans les scripts de vue. Nous faisons cela en utilisant les méthodes CController::beginCache() et CController::endCache().

…some HTML content…
<?php if($this—>beginCache($key))?>
…content to be cached…
<?php $this—>endCache(); ?>
…other HTML content…
Copier après la connexion

Ce qui précède est l'intégralité du contenu de cet article. J'espère qu'il sera utile à l'étude de chacun. Pour plus de contenu connexe, veuillez prêter attention à. le site PHP chinois !

Recommandations associées :

À propos de yii utilisant le style de pagination bootstrap

À propos de la discontinuité des paramètres d'identification dans PHP une fois qu'ils sont Analyse des causes et solutions incrémentées

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
yii
source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal