DacheQL - オープンソースのGraphQLキャッシュツール (github.com/oslabs-beta) 7 ポイント 投稿者 xguru 2022-10-23 | 3件のコメント | WhatsAppで共有 Redis(LFU) または独自キャッシュ(LRU)を活用した、使いやすい軽量キャッシュツール Node/Express + Typescript + Chart.js + Jest + React + Webpack 関連記事 graphqurl - GraphQL向けのCurl 5 ポイント · 0件のコメント · 2021-01-10 XgeneCloud - 複数のDBにREST & GraphQL APIを追加できるオープンソース 5 ポイント · 4件のコメント · 2020-06-14 6年使ってGraphQLをやめた理由 22 ポイント · 8件のコメント · 2024-05-31 gqless - クエリを書く必要のないGraphQLクライアント 6 ポイント · 1件のコメント · 2020-03-22 DGS - NetflixのオープンソースGraphQLサーバー 7 ポイント · 0件のコメント · 2021-02-04 3件のコメント colus001 2022-10-23 コードを少し見ましたが、首をかしげる部分がかなり多いですね。ちゃんと動くのかは分かりません。キャッシュがあるか確認し、なければサーバー側で endpoint に再度 POST リクエストを送る構造なので、endpoint を2つ用意する必要がありますし、GraphQL query を丸ごとキャッシュする形なので、ユースケースもそれほど多くない気がします。 kbsbroad 2022-10-24 えっと……では、GraphQLのキャッシュはどう構成するのがよいのでしょうか? GraphQLのリクエストパラメータはケースごとに異なり得るはずなので、たとえ自分でキャッシュを構成したとしても、サーバー側でキャッシュを構成するならDacheQLとあまり変わらないように思えるのですが、もっと良い方法はあるのでしょうか? 急に気になって質問させていただきました! colus001 2022-10-24 通常はリソースレベルのデータローダーを使ってキャッシュすることが多いと思います。そういう方式が使えないというわけではありませんが、このライブラリを使うユースケースは少なく、エンドポイントが2つに分かれるので攻撃も受けやすく、欠点が多いです。リソースをリクエストするときに key が1つ増えるだけでもキャッシュが効かなくなりますからね。
3件のコメント
コードを少し見ましたが、首をかしげる部分がかなり多いですね。ちゃんと動くのかは分かりません。キャッシュがあるか確認し、なければサーバー側で endpoint に再度 POST リクエストを送る構造なので、endpoint を2つ用意する必要がありますし、GraphQL query を丸ごとキャッシュする形なので、ユースケースもそれほど多くない気がします。
えっと……では、GraphQLのキャッシュはどう構成するのがよいのでしょうか? GraphQLのリクエストパラメータはケースごとに異なり得るはずなので、たとえ自分でキャッシュを構成したとしても、サーバー側でキャッシュを構成するならDacheQLとあまり変わらないように思えるのですが、もっと良い方法はあるのでしょうか? 急に気になって質問させていただきました!
通常はリソースレベルのデータローダーを使ってキャッシュすることが多いと思います。そういう方式が使えないというわけではありませんが、このライブラリを使うユースケースは少なく、エンドポイントが2つに分かれるので攻撃も受けやすく、欠点が多いです。リソースをリクエストするときに key が1つ増えるだけでもキャッシュが効かなくなりますからね。