2024年9月26日

Prisma Accelerateのオンデマンドキャッシュ無効化を発表

Prisma Accelerateによるキャッシングは、読み込みが多いアプリケーションのパフォーマンスを大幅に向上させ、データベースへの負担を軽減します。オンデマンドキャッシュ無効化により、更新を正確に制御でき、管理と最適化が簡素化されるとともに、常に最新の情報が提供されます。

Prisma Accelerate's cache invalidation API in a code block

キャッシングの簡単な復習

キャッシングは、頻繁にアクセスされるデータを一時的な層に保存して、より高速なアクセスを可能にし、元のソースからの繰り返しフェッチの必要性を最小限に抑えます。Prisma Accelerateは、サーバーに最も近い場所にデータをキャッシュし、より高速なデータ取得を提供します。

スピードテストをぜひお試しください。キャッシングがいかにアプリケーションのパフォーマンスを劇的に向上させるかを直接体験できます。Prisma Accelerate speed test result GIF

キャッシングの利点

  • レイテンシを削減することでパフォーマンスを向上
  • サーバー負荷とリソース使用量を削減
  • 応答時間を高速化し、ユーザーエクスペリエンスを向上
  • ネットワーク帯域幅の消費を削減
  • より多くのトラフィックを処理することでスケーラビリティを向上

しかし、キャッシュされたデータの正確性を維持することが重要です。オンデマンドキャッシュ無効化は、古いデータを削除することで、ユーザーがリアルタイムの情報を受け取ることを保証します。これは難しいバランスであり、不適切な無効化は、古いデータを提供したり、不必要にキャッシュをクリアしたりすることにつながり、パフォーマンスと信頼性の両方に影響を与えます。

キャッシュ無効化の重要性

オンデマンドキャッシュ無効化は、キャッシュされたデータの速度という利点を享受しながら、データの整合性を維持するために不可欠です。以前のバージョンのPrisma Accelerateでは、キャッシュ戦略によっては、TTLまたはSWRタイマーの期限切れを待つ必要があり、データ更新のタイミングを制御するのに限界がありました。今では、オンデマンドキャッシュ無効化により、必要な時に正確にキャッシュを更新でき、より動的で応答性の高いエクスペリエンスが可能になります。

ユースケース: Hackernewsフォーラム

Hackernewsのような、新しい投稿やアップボートが絶えず追加されるシナリオを想像してみてください。キャッシングは人気のある記事の取得を劇的に高速化し、サーバー負荷を軽減します。しかし、適切なオンデマンド無効化がなければ、ユーザーには古いランキング、コメント、あるいは完全に削除された投稿が表示される可能性があります。この遅延は、古いデータでユーザーを誤解させ、エクスペリエンスを低下させ、エンゲージメントを低下させる可能性があります。

例えば、多くのアップボートを得ている投稿は、オンデマンド無効化がなければリアルタイムで反映されず、トップ投稿リストが不正確なままになります。この技術を採用することで、投票、コメント、編集などの更新が一貫して反映され、フィードが新鮮に保たれ、ユーザーのエンゲージメントが維持されます。

Prisma Accelerateオンデマンドキャッシュ無効化をプロジェクトに追加する方法

Hackernewsの例を引き続き、最新の投稿のキャッシュされたリストを取得しているとします。以下のようなクエリで最新の投稿を取得し、高いTime-to-Live (TTL) 値で結果をキャッシュすることで、データベースへの負荷は大幅に軽減されます。

Prisma Accelerateでは、タグを使用してキャッシュを無効化できます。タグは、キャッシュされたクエリ結果をグループ化して管理を容易にします。例を見てみましょう。

  1. まず、クエリのcacheStrategyにタグを追加します。

  2. 次に、新しい投稿を追加する際に、$accelerate.invalidateを使用して、オンデマンド無効化によりキャッシュを即座に更新します。

  3. 同様に、投稿にアップボートした場合もキャッシュを無効化できます。

このように、オンデマンドキャッシュ再検証は非常に簡単です。動作を確認するには、サンプルアプリをチェックしてください。

クエリのキャッシングを開始

オンデマンドキャッシュ無効化を活用して、クエリパフォーマンスを向上させ、アプリ全体の応答性を高め、データベースへの負荷を軽減しましょう。


Accelerateを始める

Accelerateでのキャッシングに関するドキュメントを読む

Xでのさらなるエキサイティングな更新にご期待ください。また、変更ログにもご注目ください。ご不明な点がございましたら、お気軽にDiscordまでご連絡ください。

次回の投稿をお見逃しなく!

Prismaニュースレターに登録する

© . All rights reserved.