セッション状態を管理するために 150 個のクライアント変数を使用する従来の ColdFusion アプリケーションがあります。クライアント変数は、ラウンド ロビン ロード バランサーを使用して、6 つのアプリケーション サーバー クラスター環境内の SQL Server データベースに集中的に格納されます。
問題は、コードがクライアント変数を新しい値で更新するときに、CData テーブルで新しい値が適切に更新されているにもかかわらず、古い値がまだ使用され、表示されていることです。これは、cfset タグを使用してクライアント変数に対して平均 1000 回の更新が行われる場合に断続的に発生します。
競合状態とキャッシングの問題が考えられる説明です。古い値がまだ 6 つのアプリケーション サーバーの 1 つにキャッシュされているのではないかと「疑っています」。Adobe のドキュメントには、クライアント変数がメモリにキャッシュされることが明確に記載されていますが、詳細については触れられていません。
1) 誰かがこの問題を経験し、適切な解決策を見つけましたか?
2) クライアント変数を使用し続けている間にスティッキー セッションに移行すると、どのような影響がありますか?