2015-01-15 56 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中。事實上,我有緩存,它實現了對幾個表的依賴關係,因此我可以緩存多個查詢,並在第三個參數中告訴緩存我將保存多少個查詢