私の Web アプリには、私が制御できない外部 API から収集されたデータが含まれています。1 時間あたり約 20,000 件の API リクエストに制限されています。データベースには約 250,000 のアイテムがあります。これらの各アイテムは、基本的にキャッシュされたバージョンです。1 つのアイテムのキャッシュを更新するのに 1 つのリクエストが必要であると考えてください。明らかに、これらの状況下で完全に最新のキャッシュを持つことは不可能です。では、データをキャッシュするための戦略を策定する際に考慮すべきことは何ですか。これらは頭に浮かぶものですが、誰かが私が考えていなかった良いアイデアを持っていることを願っています.
- アイテムが作成されてからの時間 (時間が短いほど重要)
- 特定のアイテムが持っている「いいね」の数 (表示される可能性が高いことを意味する可能性があります)
- 最終更新からの時間
いくつかの詳細: アイテムは写真です。すべての写真はイベントに属しています。現在発生しているイベントは、クライアントによって表示される可能性が高くなります (したがって、イベントを優先する必要があります)。現在、データベースには 25 万項目しかありませんが、その数はかなり急速に増加しています (100 万点に達するまで、おそらく 5 か月かかるでしょう)。