私は最近、Web アプリケーションで新しいアプリケーションをゼロから構築しています。
(テクノロジーはAsp.Net
であり、私が使用している ORM はEntity Framework
. 重要な場合)
リクエストごとに広く使用されているパターンセッションが本当に良いものかどうかはわかりません。
私が見たように、このパターンの利点は、データベース セッションがクラッシュするまでキャッシュが増加しないことです。\ 大きすぎて非効率的です。
しかし、リクエストごとに新しいセッションを作成するのは多すぎませんか? これは、すべてのサーバー呼び出しがキャッシュをリセットすることを意味します。オートコンプリートのような単純な ajax リクエストでさえ、まったく新しいキャッシュを持っています。実際、キーストロークごとにキャッシュがリセットされます。
1 回のリクエストで同じ object-entity-row をクエリする可能性はわずかです。
Session per sessionの方が良いパターンではないでしょうか? それは両方の利点を意味します
- キャッシュが永遠に増えることはありません。
- キャッシュは実際に使用できます...
それで...リクエストごとのセッションが広く使用されているのに、セッションごとのセッションがそうではないのはなぜですか?
説明:
- 私がORMセッションを書いたとき、それは と の両方に適用され
NHibernate's session
ますEntityFramework's DbContext
。 - 各リクエストでセッション\ dbcontextのflush-commit-SaveChangesを意味します。