3

ページ タイトル、メンテナンス モード (オン/オフ)、その他のものなど、アプリの編集可能な設定を保存するために使用する db テーブル (教義エンティティ) があります。

エンティティマネージャーとリポジトリを使用して設定を通常どおり読み込むことができますが、それは最善の解決策ではないと思います...

私の質問は次のとおりです: - 設定をカーネル イベントで 1 回だけ読み込んでから、yml 構成ファイルに保存されている他の設定にアクセスするのと同じ方法でアクセスできますか?

  • データベース設定をキャッシュするにはどうすればよいので、DB クエリを 1 つだけ実行し、その後のページ要求では、ページ要求ごとに DB クエリを実行する代わりに、キャッシュされた値を使用しますか? (もちろん、設定で何かを変更するたびに、そのキャッシュを消去する必要があるため、新しい設定が有効になります)
4

1 に答える 1

2

LiipDoctrineCacheBundleは、ファイルシステム、apc、memcache、...

bundle-extensionまたはcompiler-passでデータベースから一般的なコンテナ パラメータ/設定 (メンテナンス モードなど) をロードすることをお勧めします。

ルート固有の設定 (ページ タイトルなど) は、カーネル イベント リスナーに読み込むことができます。カーネル イベントのリストは、こちらで確認できます。

doctrine postUpdate/postPersist/postRemoveリスナーを使用してキャッシュを更新/無効化します。

于 2013-09-13T11:48:29.747 に答える