現在、大量のメモリを消費するアイテム (実行時に変更されない) の大きなリストを含むオブジェクトがあり、このオブジェクトは (ユーザーごとに) 複数のセッションで使用され、それぞれで同一である必要があります。
そこで、大きなオブジェクトをコピーしたり、各セッションで新しいインスタンスを作成したりする代わりに、それを共有リソースとして使用することにしました。各セッションがオブジェクトのリストから読み取ってアイテムを取得し、それらに対して必要なことを行うようにします。これは Web アプリケーションであるため、メモリを節約したいと考えています。
ただし、リスト内のこれらのアイテムにもイベントがあり、各セッションはこれらのイベントをサブスクライブする必要があります。
そのため、アイテム イベントが発生すると、すべてのセッションで発生します。そのため、どのセッションがこのイベントを発生させ、そのセッションでのみ使用するかを確認するロジックを追加する必要がありました。
これを行うより良い方法はありますか?より効率的な方法は?大量のユーザー セッションが発生すると、これらの共有アイテムでイベントが発生したときに処理が本当に遅くなるのではないかと心配しています。
あなたの考えは何ですか?また、これらの「アイテム」を処理するとき、それぞれにかかる時間を知る方法がないため、イベントの使用に傾倒した理由にも注意してください。