ColdFusion ORM と永続的な CFC について、またそれによってアプリケーションのパフォーマンスがどのように向上するかについて学び始めたところです。私は自分のサイトに何かを実装しようとする前に、完全に理解することにまだ取り組んでいますが、答えがどこにも見つからないように見える質問が 1 つあります。
パフォーマンスの向上の多くは、ページの最後にある単一のトランザクションでデータベース CRUD をバッチ処理することと、select ステートメントのインテリジェントなキャッシュによってもたらされることを理解しています。後者に関しては、このキャッシュがどのように機能するか、より具体的には、ColdFusion アプリケーションの外部で行われた変更をどのように処理するかです。
たとえば、次のような users テーブルがあるとします。
名前の髪
ニック・ブラウン
ジョン・ブロンド
ここで、PL/SQL Developer を介して単純な更新クエリを実行し、John の髪の色を黒に更新するとします。今...
- 次にページがジョンの髪の色をリストしようとするとどうなるでしょうか?
- 髪の色がキャッシュされたためにまだブロンドとして表示されていると仮定すると、そのキャッシュをフラッシュするにはどうすればよいでしょうか?
- 髪の色がまだブロンドとしてキャッシュされていると仮定すると、CF ORM を使用して John の名前を Jonathon に変更するとどうなりますか? 行を更新するときに、髪の色を上書きして金髪に戻しますか?
- 同様に、CF ORM を使用して髪の色を緑に更新しようとするとどうなりますか? CF は、キャッシュされた値 (金髪) が現在の値 (黒) ではないことを確認して通知し、何らかのフィードバックを提供しますか?
同様に重要な (おそらくもっと重要な) ことは、外部プログラムの代わりに CFQuery を使用して John の髪の色を更新した場合、これらの同じ質問に対する答えは何であるかということです。つまり、ORM 管理テーブルで CFQuery を安全に使用できますか?
CF のドキュメント、Hibernate のドキュメント、およびさまざまなオンライン ブログを確認してみましたが、ORM のキャッシングと、それが他のデータベース操作方法 (CFQuery、PL/SQL Developer など) とどのように相互作用するかについての情報が不足しています。どんな助けでも大歓迎です。
ありがとう。