2015-01-15 5 views
0

내 응용 프로그램에 이상한 문제가 있습니다 (Yii Framework 1.1.8). 내가 다른 모델을 불러 데이터를 가져Yii 쿼리 캐시가 향후 모델 호출을 위해 캐시에도 적용됩니다.

UserDataModel::model()->cache(3600, $dependency)->getAttributes(); 

이 함수를 호출 한 후 다음과 같이

은 내가 함수를 호출. 놀랍게도

ProfileModel::model()->findAll(); 

ProfileModel도 캐시했다. 첫 번째 줄 (UserDataModel)을 제거하면 ProfileModel은 캐시되지 않은 데이터를 가져옵니다. 두 모델이 다르므로 왜 첫 번째 모델이 다음 모델 호출을 위해 캐시를 강제해야 하는가?

구현에 문제가 있습니까?

감사합니다.

Arfeen는

+0

main.php에서 DB 문자열을 구성하는 데 캐시를 정의하고 있습니까? ? –

답변

1

나는 당신이 캐시 할 쿼리 수를 나타냅니다 캐시에 세 번째 매개 변수를 지정하지 볼 수 있듯이 내가 당신을 도울 수 있기를 바랍니다. 내 생각에 종속성이 사실이라면 그 줄에서 맨 아래까지 모든 것이 모델에 완전히 독립적으로 생성 된 cfilecache에 캐시됩니다. 실제로 여러 테이블에 종속성을 구현하는 캐시를 가지고있어서 둘 이상의 쿼리를 캐시 할 수 있으며 세 번째 매개 변수에서 캐시에 저장할 쿼리의 수를 알려줍니다.