Попытки кэшировать запрос:Кэширования выполняет DB запрос в любом случае
$cache = new CDbCacheDependency("SELECT * FROM team WHERE team_url = '$url' LIMIT 1");
$teamModel = Team::model()->cache(100000, $cache)->findByAttributes(array("team_url" => $url));
В журнале я вижу:
system.db.CDbCommand
Querying SQL: SELECT * FROM team WHERE team_url = 'someteamname'
LIMIT 1
---
system.caching.CFileCache
Serving "yii:dbquerymysql:host=localhost;dbname=xxx:xxx_user:SELECT
* FROM `team` `t` WHERE `t`.`team_url`=:yp0 LIMIT
1:a:1:{s:4:":yp0";s:14:"someteamname";}" from cache
in
если запрос кэшируются почему он выполняется каждый раз?
EDIT:
Я подтвердил, что запрос ударяя в базу данных.
Право, но я смотрел на запросы, выполненные на сервере, и я видел, как он выполняется, хотя он должен был кэшироваться ... – keeg
А ... подождите ... Кэш-зависимость и будущий Кэш-запрос по сути тот же. Возможно ли, что вы повторно оцениваете зависимость кэша на сервере db? – DaSourcerer
hmm .. Я думаю, что вы правы ... запрос зависимости будет запускаться каждый раз вправо? – keeg