In diesem Artikel wird hauptsächlich die Analyse der Gründe vorgestellt, warum Yii CFileCache den Wert nicht erhalten kann. Es ist sehr gut und hat einen Referenzwert.
Ich habe es in der Konfigurationsdatei konfiguriert
‘cache'=>array( ‘class'=>'system.caching.CFileCache', ),
Setzen Sie
return array( array( ‘COutputCache+pro', ‘duration'=>86400, ‘varyByParam'=>array(‘id'), ),
im Controller und öffnen Sie dann die Datenbank ‘schemaCachingDuration'=>3600,
Als ich es zum ersten Mal benutzte, gab es eine Cache-Datei, und ich stellte fest, dass sie den Zugriff erheblich beschleunigte
Aber im Laufe der Zeit, vielleicht nach einer gewissen Zeitspanne 10 Minuten habe ich festgestellt, dass die Cache-Datei unter Runtime/Cache plötzlich verschwunden ist.
Ich kenne den Grund nicht, bevor ich dieses Problem entdeckt habe Außerdem wurde festgestellt, dass sich im Cache-Verzeichnis Ordner befinden: 0a d6 63 3a. Funktion: Warum verschwinden die zwischengespeicherten Dateien plötzlich?
Die zwischengespeicherten Dateien im Datenraum der Festplatte D sind sehr groß
1. Pufferanforderungen von yii Konfigurieren Sie es in main.php,/****************/
‘cache' => array (
‘class' => ‘system.caching.CFileCache'
)
Nachdem die Konfiguration abgeschlossen ist, fügen Sie sie einfach im Controller hinzu....
Yii::app ()->cache->set($key,$value,$expire); Yii::app ()->cache->get($key);
main.php-Konfiguration
‘cache' => array ( ‘class' => ‘system.caching.CFileCache' ), ‘dbcache' => array ( ‘class' => ‘system.caching.CDbCache' )
Der Controller muss nur mit der entsprechenden Cacheid aufrufen
Wie zum Beispiel:
3. Seitenpufferung bedeutet, die gesamte Seite statisch zu machen Yii::app ()->dbcache
Die main.php-Konfiguration ist immer noch dieselbeController: Das können Sie Verwenden Sie die COutputCache-Klasse als Verhaltensfilter in unserer Controller-Klasse.
public function filters() { return array ( array ( ‘COutputCache', ‘duration' => 600, ‘ varyByParam' => array(‘id') ) ); }
COutputCache wird als Strategie verwendet, um beim Zwischenspeichern von Daten automatisch Schlüsselnamen zu generieren. Hier ist eine Liste derjenigen, die verwendet werden können:
varyByRoute: Wenn Sie diese Option auf „true“ setzen, wird der Routing-Teil einer bestimmten Anfrage als Teil einer separaten Kennung zum Generieren von Cache-Daten verwendet. Daher können Sie eine Kombination aus Request Controller und Acion verwenden, um zwischengespeicherte Inhalte zu unterscheiden.
varyBySession: Wenn Sie diese Option auf „true“ setzen, wird eine eindeutige Sitzungs-ID verwendet, um Inhalte im Cache zu unterscheiden. Die Sitzung jedes Benutzers ist unterschiedlich, kann jedoch zum Bereitstellen des Caches verwendet werden.
varyByParam: Wie bereits erwähnt, werden die Parameter im Eingabe-GET verwendet, um den Cache-Inhalt zu unterscheiden.
varyByExpression: Legen Sie einen PHP-Ausdruck für diese Option fest. Wir können das Ergebnis des entsprechenden Ausdrucks verwenden, um zwischengespeicherte Inhalte zu unterscheiden.
Beachten Sie außerdem, dass die Standard-Cache-ID von COutputCache Cache ist
4. Fragment-CacheFragment-Cache wird zum Zwischenspeichern eines Teils einer Seite verwendet. Wir können Fragment-Caching in Ansichtsskripten verwenden. Wir tun dies, indem wir die Methoden CController::beginCache() und CController::endCache() verwenden.
rrreeDas Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er wird für das Lernen aller hilfreich sein. Bitte achten Sie auf PHP Chinesische Website!
Verwandte Empfehlungen:
Über den Paginierungsstil von yii mit BootstrapÜber die Diskontinuität der ID-Einstellungen in PHP, nachdem sie vorgenommen wurden inkrementierte Ursachenanalyse und Lösungen
Das obige ist der detaillierte Inhalt vonAnalyse der Gründe, warum Yii CFileCache den Wert nicht erhalten kann. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!