Wie kann ich das Caching über die Konfiguration in Yii deaktivieren?

8

In Yii habe ich das APC-Caching über die Datei config / main.php aktiviert:

%Vor%

und es funktioniert gut, wenn ich Yi eingebaute Caching-Methoden verwenden:

%Vor%

Gibt es jedoch eine Möglichkeit, diese basierend auf der Konfiguration vorübergehend auszuschalten? Ich möchte nicht, dass es aktiviert ist, während YII_DEBUG beispielsweise auf "true" gesetzt ist, und möchte $votes = Yii::app()->cache->get("key"); zu immer als falsch ausgeben, wenn es leer ist.

Ich habe versucht, dies auszuschalten, indem ich einfach die Konfigurationseinstellung auskommentiert habe, aber es gibt (nicht unangemessene) Fehler: Call to a member function get() on a non-object

    
Ian Hunter 22.12.2011, 16:51
quelle

3 Antworten

11

Sie können eine Cache-Klasse konfigurieren, die überhaupt nicht zwischengespeichert wird (also wird nichts gespeichert und get() gibt immer FALSE zurück).

Wahrscheinlich wird Yii bereits mit einem No-Cache ausgeliefert? Ja, tut es, es heißt CDummyCache und es wird überhaupt nicht zwischengespeichert.

Es wurde für das Problem geschrieben, dass Sie in Ihrer Frage angeben, dass Yii::app()->cache ist NULL .

Siehe Caching Docs .

    
hakre 22.12.2011, 17:14
quelle
3

Wenn Sie den Cache nur lokal deaktivieren müssen, fügen Sie den folgenden Code in die Datei main-local.php ein. Es überschreibt die Cache-Konfiguration in der main.php

%Vor%

CDummyCache ist eine Platzhalter-Cache-Komponente.

CDummyCache speichert nichts zwischen. Es ist vorgesehen, dass man immer eine "Cache" -Anwendungskomponente konfigurieren kann und nicht überprüfen muss, ob Yii :: app () - & gt; -Cache null ist oder nicht. Wenn CDummyCache durch eine andere Cache-Komponente ersetzt wird, kann schnell vom Nicht-Cache-Modus in den Cache-Modus gewechselt werden.

Yii 1.x: CDummyCache-Dokument

Yii 2.x: DummyCache-Dokument

    
Roman Podlinov 11.08.2016 12:59
quelle
-4

Probieren Sie diesen Code:

%Vor%     
user1744812 08.11.2012 07:42
quelle

Tags und Links