7 ポイント 投稿者 xguru 2022-10-23 | 3件のコメント | WhatsAppで共有
  • Redis(LFU) または独自キャッシュ(LRU)を活用した、使いやすい軽量キャッシュツール
  • Node/Express + Typescript + Chart.js + Jest + React + Webpack

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つ増えるだけでもキャッシュが効かなくなりますからね。