http://www.ramirezcobos.com/2011/02/15/ ... y-caching/
Слил себе обновленные файлы
http://code.google.com/p/yii/source/detail?r=2949
Сразу заметил, что кешируются правильно только запросы, где не нужно биндить параметры
В противном случае (если какие-то параметры биндятся), к примеру
Всегда возвращается один и тот же ответ, а именно - результат работы самого первого кешированного запроса.$criteria = new CDbCriteria;
$criteria->select = "keyword";
$criteria->condition = "keyword LIKE :sterm";
$criteria->params = array(":sterm"=>$input."%");
$criteria->group = "popular DESC";
$criteria->limit = $limit;
Начал копаться в файлах, ошибку обнаружил здесь
http://code.google.com/p/yii/source/dif ... ommand.php
Код: Выделить всё
$cacheKey='yii:dbquery'.$this->_connection->connectionString.':'.$this->_connection->username;
$cacheKey.=':'.$this->getText().':'.serialize(array_merge($this->_paramLog,$params));
Как только enableParamLogging устанавливаю в true - ключ генерируется правильно.
Корень проблемы пока не нашел. Если кто-то откапает - дайте знать, пожалуйста.
Очень удобная фича, но пока, конечно, сырая