2012-01-26 38 views
0

私はFlexには新しく、サーバから繰り返し要求されるデータに対してクライアント側のキャッシュを実装する方法について学びたいと思っています。フレックスウェブアプリケーションでキャッシングはどのように機能しますか?

キャッシングについて簡単な例を挙げて説明します。複数の画面を持つFlexアプリケーションを作成します。各画面では、xおよびyデータの線系列がプロットされます。ユーザーは画面を切り替えることができ、画面が訪れるか再訪問されるたびにxとyの両方のデータの数値配列がサーバーから要求されます。もちろん、サーバー上のxとyの値は決して変更されません。

ブラウザやAIRアプリケーションでキャッシュを実装するために使用できる手法を知りたいときは、初めてxとyデータをダウンロードすると、アプリケーションは再読み込み時にこれらの配列をキャッシュから取得しますこの画面は将来表示されます。

これはどのように行われますか?

+0

あなたの質問はあまり具体的ではありません。すべての状況に最適なキャッシング戦略はありません。採用する戦略は、プロジェクトの要件によって決定され、プロジェクトごとにプロジェクトごとに評価する必要があります。 – RIAstar

+0

質問をより具体的に変更しました。私は定性的な戦略ではなくキャッシュを実装するために、より多くのナットとボルト(コードなど)を探しています。サーバーからダウンロードした配列をキャッシュしたい場合は、どうすればいいですか? – ggkmath

+1

こんにちはggk、Flexアプリケーションは永続的です。つまり、アプリケーションが実行されると、RAM内のすべてのオブジェクトが保持され、ガベージコレクタが来て、解放されたオブジェクト(メモリを占有しているものの、アプリケーションから参照されていないオブジェクト)を探します。ユーザーはページ/ swfをリロードしない限り、データをArrayCollectionに格納し、最初にフェッチした後でいつでも参照できます。 – shaunhusain

答えて

0

これは、キャッシュする内容によって異なります。 Swfはブラウザによってキャッシュされます。したがって、ブラウザがあなたのサイトを指し示すたびにswfsはダウンロードされません。 ユーザが画面やオートコンプリートで入力した内容や、重要でないデータをキャッシュする場合は、SharedObjectを使用できます。 そして、サーバーから取得したデータをArrayCollectionまたはメモリ内の他のオブジェクトに格納し、複数回参照する従来の方法が常にあります。

+0

数値の配列に焦点を当てることで、より具体的な質問に変更しました(たとえば)。 「サーバーから取得したデータをArrayCollectionや他のオブジェクトのメモリに格納し、それを複数回参照する従来の方法」を拡張できますか?たぶん私の質問は単純すぎる(私はよく知っている経験がないかもしれない)。しかし、キャッシングはどのように実装されていますか? ArrayCollectionを使用すると自動的に(舞台裏で)行われますか?等 – ggkmath

関連する問題