У меня странная проблема в приложении (Yii Framework 1.1.8).
Я вызвал функцию следующим образом:
UserDataModel::model()->cache(3600, $dependency)->getAttributes();
После вызова этой функции я вызвал другую модель и получил данные.
ProfileModel::model()->findAll();
К моему удивлению, ProfileModel
был также кэширован. Когда уберу первую строку (UserDataModel
), ProfileModel
извлекает некэшированные данные. Поскольку обе модели различны, почему первая модель вызывает кэш для следующего вызова модели?
Что-то не так с моей реализацией?
Благодарю.
Arfeen
Я надеюсь, что смогу вам помочь, поскольку я вижу, что вы не указываете третий параметр в кэше, который указывает количество запросов, которые должны быть кэшированы. Я предполагаю, что если зависимость истинна, все, от этой строки до нижней части, будет кэшировано в cfilecache, созданном полностью независимо от модели. На самом деле у меня есть кеш, который реализует зависимость от нескольких таблиц, поэтому я могу кешировать более одного запроса, а в третьем параметре я сообщаю кешу, сколько запросов я сохраню
Других решений пока нет …