私がプレイしているビデオ ゲーム用のサイトがあり、追加のキャッシュを実装してサイトのパフォーマンスを改善しようとしています。カスタム リポジトリ関数にクエリ結果キャッシュを実装することはできましたが、組み込み関数 (findOneById など) にクエリ結果キャッシュを含める方法を説明している場所を見つけることができませんでした。私のデータベースクエリの多くは、これらの「ネイティブ」リポジトリ機能から実行されるため、これを行うことに興味があります。
例として、id、name、race、class などのプロパティを持つキャラクター エンティティ オブジェクトがあります。
このオブジェクトの人種とクラスは、人種とクラスの他のエンティティ オブジェクトへの参照です。表示用にキャラクターをロードすると、名前 (findOneByName) でキャラクターを取得し、テンプレートでキャラクターの人種/クラスを$characterObject->getRace()->getName()
. テンプレートでこれらのメソッドを呼び出すと、Race/Class エンティティ テーブルでクエリが実行され、ID でエンティティがフェッチされます (findOneById だと思います)。
リポジトリに独自の findOneById 関数を作成しようとしましたが、これらの状況では呼び出されません。
これらのクエリ結果がキャッシュ可能になるように doctrine/symfony をセットアップするにはどうすればよいですか?
Symfony 2.1.3 と doctrine 2.3.x を実行しています