2016-05-12 3 views
2

私はリレーキャッシュのドキュメントを読みましたが、混乱しました。リレーキャッシュはどのように機能しますか?

どのようにprimeCacheが動作し、どのように使用するべきか説明できますか?

まず、キャッシュがブラウザにあるのかサーバー側にあるのかは100%肯定的ではありませんか?クライアントのキャッシュについて話しているので、ブラウザにあると思います。そうですか?

私もこのquestionを読んでいて、もっと混乱します。これは、

サーバーデータへのアクセスが必要な場合は、Relay.Store APIを使用してサーバーからデータをフェッチし、キャッシュから読み取ることができます。

キャッシュからそれを読むために起こっている場合、私は、なぜそれがサーバーからデータをフェッチする必要があるだろう、理解していませんか?正直言って論理はありません。ブラウザキャッシュではなくサーバーキャッシュである場合を除きます。

Relay Storeは、サーバーに突然変異をディスパッチするためのAPIを提供しています。

私が正しく理解していれば、これらの突然変異はサーバー側のデータを変更します。つまり、店舗を通じてサーバー側にクエリを実行します。また、ストアを使用してprimeCacheにアクセスするので、キャッシュが実際にサーバー側になる可能性があります。

いつprimeCacheを呼び出すことができますか?キャッシュの中に何もないのにそれを呼び出すとどうなりますか?その後、サーバーから結果を取得しますか?

助けてください

答えて

1

あなたはその要点を持っています。 Relayの背後にあるアイデアは、ReactがHTMLのようにクエリや突然変異を「コンポーネント化」するのに役立つということです。 RelayはあなたのReactコンポーネントをそのコンポーネント専用に必要とするものと組み合わせ、フロントエンドアプリケーションに最適にレンダリングします。

ここで、キャッシュは、各データを一意のIDに関連付けることによって機能します。また、Relayを介してGraphQLサーバに行う宣言的なクエリや突然変異は、サーバ上のそのデータを見つけ出し、その固有の識別子を介してフロントエンドキャッシュと比較し、差分のみを更新します。このエンジンによって管理されているフロントエンド上のデータのバージョンコントロールであるかのように、リレーエンジンキャッシュと同じように想像することができます。

関連する問題