2017-09-13 7 views
0

InProcまたはRedisを使用してユーザーセッション+少し余分なデータ(ユーザー名、電子メール...など)を使用するかどうかを判断できません。高性能Webアプリケーションスケーラビリティを考慮したInProc対Redis(Asp.Net MVC 5)のセッションストア

このように、両方のメリットとデメリットは何ですか? Redisオプションには、HTTP接続を使用することの短所(ネットワークの待ち時間とHTTPが使用するTCP接続の消費)があるためです。

また、インプロセスは

注意(負荷分散を使用して)場所や異なるサーバー上の複数のIISの労働者を使用してからアプリケーションの将来を開催する:私はRedisのを使用したい場合、私は、カスタムアクションによってセッション状態を注入しますコントローラ内のプロパティへの属性。

答えて

1

Webファームシナリオでは、Webファーム内の任意のワーカープロセスに要求を送信できます。このような場合にインプロセスセッションステートストアを使用すると、同じセッションに対する異なる要求が異なるワーカープロセスによって提供される場合、データが失われる可能性があります。ただし、単一のWebサーバーのみを使用する場合は、追加のネットワーク待ち時間がないため、インプロセスセッション状態プロバイダーが最速になる必要があります。

Redisは分散キャッシュとして機能し、Webファーム内のさまざまなワーカープロセスがすべて単一のRedisインスタンスと通信するため、Redisセッション状態プロバイダはWebファームシナリオでうまく機能します。 RedisインスタンスをWebファームインスタンスの近くに物理的に配置することで、待ち時間をある程度短縮できます。