理論的には、非常に重い処理を実行するページ/コントローラーアクションがWebサイトにあるとしましょう。操作が完了するまで約10秒かかります。
ここで、.NETのoutputcacheメカニズムを使用して15分間キャッシュします(たとえば、使用します[OutputCache(Duration = 900)]
)。15分後にキャッシュの有効期限が切れ、100人のユーザーが10秒以内にページを再度要求するとどうなりますか。重い処理?
- 重い作業は初めて行われるだけで、他の99人のユーザーがキャッシュ結果を取得できるようにいくつかのロックメカニズムがあります
- 重い作業は100回実行されます(最大100 * 10秒かかる可能性があるため、サーバーは機能しなくなります)
簡単な質問かもしれませんが、100%確信はありません。私はそれがナンバーワンであることを願っています:-)
ありがとう!