2011-10-15 46 views
1

注意:對於我可憐的英語感到抱歉,我是法語,但我會盡量保持清晰。使用symfony2對ReadOnly doctrine2實體進行緩存結果

我正在用Symfony2進入Doctrine2。只是爲了學習新東西而開發一款小遊戲,並測試這些新的令人敬畏的工具。這裏是我的交易:我想我保存遊戲配置到數據庫(如項目,競賽信息等)從實體的方便語法受益:

$user->getRace()->getName(); 

點是「種族」或「項目「信息不可能改變。我發現了@ReadOnly實體註釋,它告訴Doctrine在第一次插入後不要檢查這些實體中的更新。 我想知道如果你知道一種'透明'的方式(我的意思是說它對我來說)緩存這些結果,以防止每次檢索我的用戶信息時無用的連接。

回答

4

只有@ReadOnly註釋所做的事情是它告訴Doctrine不要在刷新時更新實體。事件如果被更改,則不會更新。

所以它與查詢無關。

如果你想緩存Race或Item對象,你應該使用result cache。它使您能夠緩存任何查詢的結果。

爲了使它更易於使用(和可重用),您可以實現自定義註釋,這將使引用實體的查詢自動使用結果緩存。

+0

好的非常感謝你的幫助。我將爲Doctrine2跟蹤器提交一個改進,然後我會嘗試自己現在實現註釋。 – Joseph

相關問題