Next.jsを使用した単純なRedisキャッシュの実装
ほとんどのウェブサイトでは、変化する部分は実際にはそれほど頻繁には変化しません。その不変性により、データベース、Webサービス、またはサードパーティのエンドポイントからコンテンツをフェッチするためのラウンドトリップを回避するために、一流の候補がキャッシュされます。 あなたが書いたブログ記事を考えてみましょう。たとえば、古い情報を調整したり、読者が提案した修正を追加したりするために、この記事が時間の経過とともに1回または2回以上変更される可能性はほとんどありません。ただし、通常のシナリオでは、訪問者がそのブログページにアクセスするたびに、データベースにもアクセスが発生します。ページに100,000人の訪問者がいる場合は、その数のデータベース読み取りが行われます。そして、当然のことながら、読み取りは一般的に安価ですが、高性能、高可用性のシナリオでは、ミリ秒ごとにカウントされます。 さらに、データがサードパーティのソリューション(リモートWebサービスなど)からのものである場合、必要な情報にアクセスするための各ラウンドトリップは、ネットワーク帯域幅、リモートサーバーが処理できる同時接続の数、さらにはすぐにデバッグまたは修正できないシステム上のエラーを処理するだけです。 インメモリキャッシュデータベースがあると、最適化、予期しないデータストアの動作、一貫性に間違いなく役立ち、さらには数ドル節約できます。 インメモリキャッシュを実装する前に覚えておくべき落とし穴 この時点で、Redis、Memcache、またはその他のインメモリデータベースの代替手段をフルスロットルにする前に、知っておく必要のあるいくつかの落とし穴があることに注意する必要があります。次の潜在的な落とし穴のリストを確認してください。 注意してください、キャッシュの無効化は#1です キャッシュの無効化は、今日でも、コンピューターエンジニアリングで最も困難なタスクの1つです。 CodingHorrorのJeffAtwoodとStackOverflow.comの創設者によると、他の2つは、名前の付け方と1つずつのエラーです。本当に、それはあなたが野生のガチョウの追跡で時間を失う可能性があります。このために、強力なゲームプラン(キャッシュコヒーレンスプロトコル)、キャッシュ有効期限戦略を用意し、不要なデータ(...