ホームページ  >  記事  >  バックエンド開発  >  PHP コードを使用して、Baidu Wenxin Yiyan API インターフェイスのリクエスト キャッシュとキャッシュ戦略を実装します。

PHP コードを使用して、Baidu Wenxin Yiyan API インターフェイスのリクエスト キャッシュとキャッシュ戦略を実装します。

WBOY
WBOYオリジナル
2023-08-14 17:17:071280ブラウズ

PHP コードを使用して、Baidu Wenxin Yiyan API インターフェイスのリクエスト キャッシュとキャッシュ戦略を実装します。

PHP コードを使用して、Baidu Wenxin Yiyan API インターフェイスのリクエスト キャッシュとキャッシュ戦略を実装します。

Baidu Wenxin Yiyan API インターフェイスを使用する場合、リクエストを改善するために、効率性を高め、API サービスの負荷を軽減するには、キャッシュを使用してリクエストされたデータを保存し、次のリクエストでキャッシュからデータを直接読み取ることを検討して、ネットワーク リクエストの繰り返しを避けることができます。この記事では、PHP コードを使用して、Baidu Wenxin Yiyan API インターフェイスのリクエスト キャッシュとキャッシュ戦略を実装します。

キャッシュは、データをメモリまたはその他の高速ストレージ メディアに保存するテクノロジであり、データの読み取り速度を大幅に向上させることができます。 PHP では、Memcached や Redis などのキャッシュ ライブラリを使用してデータ キャッシュ操作を実装できます。次に、キャッシュ記憶媒体として Memcached を使用します。

まず、PHP が Memcached サーバーに接続して正常に動作できるように、Memcached 拡張機能をインストールして構成する必要があります。インストールが完了したら、次のコードを使用して Memcached サーバーに接続できます:

$memcached = new Memcached();
$memcached->addServer('localhost', 11211);

次に、Baidu Wenxin Yiyan API のデータを取得してキャッシュする関数を定義する必要があります。この関数は、キャッシュ キー名を指定するパラメーターを受け入れることができます。指定されたキー名がキャッシュに存在する場合は、データがキャッシュから直接読み取られて返されます。それ以外の場合は、API リクエストが実行され、返されたデータがキャッシュに保存されます。以下はサンプル コードの実装です。

function getBaiduContent($cacheKey)
{
    $memcached = new Memcached();
    $memcached->addServer('localhost', 11211);

    // 尝试从缓存中读取数据
    $content = $memcached->get($cacheKey);

    if (empty($content)) {
        // 缓存中不存在数据,执行API请求
        $url = 'https://api.lovelive.tools/api/SweetNothings/1';

        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        $result = curl_exec($ch);
        curl_close($ch);

        // 将API返回的数据存储到缓存中,设定有效期为600秒
        $memcached->set($cacheKey, $result, 600);

        $content = $result;
    }

    return $content;
}

上記のコードでは、キャッシュ キー名として $cacheKey を使用し、キャッシュからデータを取得しようとします。データがキャッシュに存在しない場合は、curl ライブラリを使用して API リクエストを実行し、返されたデータをキャッシュに保存し、キャッシュの有効期間を 600 秒に設定します。

最後に、getBaiduContent 関数を呼び出して、Baidu Wenxin Yiyan API のデータを取得し、ページに出力します。以下は簡単な例です:

$cacheKey = 'baidu_content';

$content = getBaiduContent($cacheKey);

echo $content;

上記のコードを通じて、Baidu Wenxin Yiyan API のリクエスト キャッシュとキャッシュ戦略を実装しました。 getBaiduContent 関数が呼び出されるたびに、最初にキャッシュからデータを読み取ろうとします。データがキャッシュに存在しない場合は、API リクエストが実行され、返されたデータはキャッシュ。このようにして、後続のリクエストでは、API サーバーに再度アクセスする必要がなく、データがキャッシュから直接読み取られるため、リクエストの効率とパフォーマンスが向上します。

要約すると、PHP コードを使用して、Baidu Wenxin Yiyan API のリクエスト キャッシュとキャッシュ戦略を実装すると、API サービスへのリクエストの頻度が大幅に削減され、リクエストの効率が向上し、負荷が軽減されます。合理的なキャッシュ戦略により、データを高速ストレージ メディアに保存し、データの読み取り時間を短縮できます。実際のアプリケーションでは、実際のニーズに応じて適切なキャッシュ有効期間とキャッシュ キー名を設定し、さまざまなビジネス ニーズを満たすことができます。

以上がPHP コードを使用して、Baidu Wenxin Yiyan API インターフェイスのリクエスト キャッシュとキャッシュ戦略を実装します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。