有効期限が無限のクエリキャッシュを使用しています。たとえば、次のコードを考えてみましょう。
$channels = Channels::model()->cache(0)->findAll(array('order' => 'channel_name'));
このステートメントは、キャッシュ内のエントリで作成することになっていますが、実行していますが、キャッシュからデータをフェッチするのではなく、結果を得るために DB に直接アクセスしています。
一方、有効期限 > 0 (ゼロ) を指定すると、スムーズに動作します。例えば:
$channels = Channels::model()->cache(20)->findAll(array('order' => 'channel_name'));
20 秒間完全に機能し、キャッシュから結果をフェッチします。
ログを有効にしてプロファイリングを確認したので、それについて確認しました。
Yii::app()->cache->set()
またはを使用してキーと値のペアをキャッシュする場合、無限の有効期限も問題なく機能します。Yii::app()->cache->get()
私が何か間違ったことをしているなら、何か考えはありますか?
ありがとう。