API を使用して自分の Wordpress サイトに製品情報を表示したいのですが、月に 1000 回のサーバー リクエスト後に課金されると会社から言われています。
要求されたデータを保存して再利用し、クォータを超えないようにすることはできますか? 潜在的な問題はありますか?
はい、そのような制限を実装する理由は、人々がサイトにデータをキャッシュ (保存) することを奨励するためです. ページが表示されるたびに API を介してデータを要求するようにサイトをコーディングすると、すぐに API サーバーに負荷がかかります。
データをキャッシュするには多くの方法があります。最も簡単な方法は、すべての API 呼び出しを毎晩実行される cron ジョブに移動し、各 API 要求の結果をディスク上の別のファイルに配置することです。その後、Web ページのコードを変更できます。 API url に接続する代わりに、このファイルを読み取ることができます。( filemtime() を使用してファイルの経過時間を確認し、1 日以上経過している場合は自動的にリクエストすることもできますが、サーバーがビジーで、ファイルの有効期限が切れて複数のトリガーが発生するときに複数のリクエストが入ってくると、制限を超えるリスクがありますapi リクエスト - cron ジョブが安全なルートです)
応答全体をキャッシュすることのマイナス面は、ページを表示するたびに応答を解析する必要があることです。ただし、単純な API 呼び出しの最も単純なソリューションが必要な場合は、それで十分です。
正しい方法は、cron ジョブで応答を解析し、操作しやすい方法でデータベースにデータを保存することです。次に、データベースから必要なデータだけを要求できます。これにより、サイト全体の実行が高速になり、メモリの使用量が少なくなります。
あなたは Wordpress サイトを開発しているので、Transients APIを調査して実装することを強くお勧めします。
これは cron ジョブに非常に近い働きをし、Wordpress プラグインまたはテーマを通じて管理できる、より単純なキャッシング ソリューションを提供します。Wordpress Options API と同じように機能しますが、設定の有効期限が追加されています。