Maison  >  Article  >  développement back-end  >  Utilisez le code PHP pour implémenter la stratégie de mise en cache des demandes et de mise en cache de l'interface API Baidu Wenxin Yiyan

Utilisez le code PHP pour implémenter la stratégie de mise en cache des demandes et de mise en cache de l'interface API Baidu Wenxin Yiyan

WBOY
WBOYoriginal
2023-08-14 17:17:071295parcourir

Utilisez le code PHP pour implémenter la stratégie de mise en cache des demandes et de mise en cache de linterface API Baidu Wenxin Yiyan

Utilisez le code PHP pour implémenter la stratégie de mise en cache et de mise en cache des requêtes de l'interface API Baidu Wenxin Yiyan

Lors de l'utilisation de l'interface API Baidu Wenxin Yiyan, afin d'améliorer l'efficacité des requêtes et de réduire la charge sur le service API, nous pouvons envisager d'utiliser le cache pour stocker les données déjà demandées et de lire les données directement depuis le cache lors de la requête suivante pour éviter les requêtes réseau répétées. Dans cet article, nous utiliserons le code PHP pour implémenter la stratégie de mise en cache des requêtes et de mise en cache de l'interface API Baidu Wenxin Yiyan.

La mise en cache est une technologie qui stocke les données en mémoire ou sur d'autres supports de stockage à grande vitesse, ce qui peut considérablement augmenter la vitesse de lecture des données. En PHP, nous pouvons utiliser des bibliothèques de mise en cache pour implémenter des opérations de mise en cache de données, telles que Memcached ou Redis. Ensuite, nous utiliserons Memcached comme support de stockage de cache.

Tout d'abord, nous devons installer et configurer l'extension Memcached pour garantir que PHP puisse se connecter et faire fonctionner le serveur Memcached normalement. Une fois l'installation terminée, nous pouvons utiliser le code suivant pour nous connecter au serveur Memcached :

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

Ensuite, nous devons définir une fonction pour obtenir et mettre en cache les données de l'API Baidu Wenxin Yiyan. Cette fonction peut accepter un paramètre pour spécifier le nom de la clé de cache. Si le nom de clé spécifié existe dans le cache, les données sont lues directement depuis le cache et renvoyées ; sinon, la requête API est exécutée et les données renvoyées sont stockées dans le cache ; Voici l'exemple de code implémenté :

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;
}

Dans le code ci-dessus, nous utilisons $cacheKey comme nom de clé de cache et essayons d'obtenir des données du cache. Si les données n'existent pas dans le cache, utilisez la bibliothèque curl pour effectuer la requête API, stockez les données renvoyées dans le cache et définissez la période de validité du cache sur 600 secondes. $cacheKey作为缓存的键名,并尝试从缓存中获取数据。如果缓存中不存在数据,则使用curl库执行API请求,并将返回的数据存储到缓存中,同时设置缓存的有效期为600秒。

最后,我们可以调用getBaiduContent函数来获取百度文心一言API的数据,并输出到页面中。以下是一个简单的示例:

$cacheKey = 'baidu_content';

$content = getBaiduContent($cacheKey);

echo $content;

通过上述代码,我们实现了百度文心一言API的请求缓存和缓存策略。每次调用getBaiduContent

Enfin, nous pouvons appeler la fonction getBaiduContent pour obtenir les données de l'API Baidu Wenxin Yiyan et les afficher sur la page. Voici un exemple simple :

rrreee

Grâce au code ci-dessus, nous avons implémenté la stratégie de mise en cache des requêtes et de mise en cache de l'API Baidu Wenxin Yiyan. Chaque fois que la fonction getBaiduContent est appelée, elle tentera d'abord de lire les données du cache. Si les données n'existent pas dans le cache, la requête API sera exécutée et les données renvoyées seront enregistrées dans. la cache. De cette manière, lors des requêtes ultérieures, les données sont lues directement depuis le cache sans accéder à nouveau au serveur API, ce qui améliore l'efficacité et les performances de la requête. 🎜🎜Pour résumer, l'utilisation du code PHP pour mettre en œuvre la stratégie de mise en cache et de mise en cache des requêtes de l'API Baidu Wenxin Yiyan peut réduire considérablement la fréquence des requêtes vers les services API, améliorer l'efficacité des requêtes et réduire la charge. Grâce à des stratégies de mise en cache raisonnables, nous pouvons stocker les données sur des supports de stockage à grande vitesse afin de réduire le temps de lecture des données. Dans les applications réelles, nous pouvons définir des périodes de validité de cache appropriées et des noms de clés de cache en fonction des besoins réels pour répondre aux différents besoins de l'entreprise. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn