현재 위치: > 최신 기사 목록> PHP 개발에서 Baidu Wenxin Yiyan API의 데이터 동기화 및 재해 복구를 실현하는 방법은 무엇입니까?

PHP 개발에서 Baidu Wenxin Yiyan API의 데이터 동기화 및 재해 복구를 실현하는 방법은 무엇입니까?

M66 2025-06-21

PHP 개발에서 Baidu Wenxin Yiyan API의 데이터 동기화 및 재해 복구를 실현하는 방법

Baidu Wenxin Yiyan API는 웹 사이트가 흥미로운 문장 내용을 표시하기에 적합한 인기있는 임의 문장 서비스를 제공합니다. PHP 개발에서는 Baidu Wenxin Yiyan API 인터페이스에 전화하여 문장 데이터를 얻고 페이지에 표시 할 수 있습니다. 데이터의 가용성 및 사용자 경험을 보장하려면 고장시 사용자 액세스가 발생하지 않도록 데이터 동기화 및 원격 재해 복구를 구현해야합니다.

Baidu Wenxin Yiyan API 통합

우선, PHP 프로젝트에 Baidu Wenxin Yiyan API를 통합해야합니다. API 데이터는 CURL 라이브러리를 통해 HTTP 요청을 보내면 얻을 수 있습니다. 다음은 샘플 코드입니다.

함수 getOneword () {
    $ url = 'https://v1.hitokoto.cn';
    $ ch = curl_init ();
    curl_setopt ($ ch, curlopt_url, $ url);
    curl_setopt ($ ch, curlopt_returntransfer, true);
    $ response = curl_exec ($ ch);
    curl_close ($ ch);
    return json_decode ($ response, true);
}

$ wordData = getOneword ();
if ($ wordData && $ wordData [ 'status'] == 'success') {
    echo $ WordData [ 'hitokoto'];
} 또 다른 {
    에코 '문장을받지 못했다';
}

이 코드는 CURL을 사용하여 Baidu Wenxin Yiyan API에 요청을 보내고 얻은 JSON 데이터를 구문 분석하고 문장을 페이지에 출력합니다.

데이터 동기화

데이터 동기화의 목적은 Baidu Wenxin Yiyan API에서 얻은 문장 데이터를 데이터베이스에 저장하는 것입니다. 이는 매번 API에 요청을 보내지 않을 수 있습니다. MySQL을 스토리지 데이터베이스로 사용할 수 있습니다. 간단한 예제 코드는 다음과 같습니다.

$ servername = "localhost";
$ username = "username";
$ password = "password";
$ dbname = "데이터베이스";

$ conn = new MySqli ($ servername, $ username, $ password, $ dbname);
if ($ conn-> connect_error) {
    다이 ( "데이터베이스 연결 실패 :". $ conn-> connect_error);
}

$ wordData = getOneword ();
if ($ wordData && $ wordData [ 'status'] == 'success') {
    $ hitokoto = $ WordData [ 'hitokoto'];
    $ sql = "hitokoto (컨텐츠) 값에 삽입 ( '$ hitokoto')";
    if ($ conn-> query ($ sql) === true) {
        Echo "데이터 동기화가 성공적입니다";
    } 또 다른 {
        Echo "데이터 동기화 실패 :". $ conn-> 오류;
    }
} 또 다른 {
    에코 '문장을받지 못했다';
}
$ conn-> close ();

이 코드는 MySQL 데이터베이스의 API에서 Hitokoto 테이블로 얻은 문장을 저장합니다. 사용자가 방문 할 때마다 매번 API 인터페이스를 요청하지 않고 데이터베이스에서 직접 문장을받을 수 있습니다.

다른 곳에서의 재해 복구

다른 장소에서의 재해 복구는 단일 고장 지점을 방지하기 위해 다른 지리적 위치의 서버에 데이터를 백업하는 것을 말합니다. MySQL 마스터 슬레이브 복제를 통해 데이터의 원격 재해 복구를 실현할 수 있습니다. 간단한 구성 예는 다음과 같습니다.

마스터 서버 (메인 라이브러리) 구성 :

[mysqld]
Server-ID = 1
log-bin = mysql-bin
binlog-format = 행

슬레이브 서버 (슬레이브 라이브러리) 구성 :

[mysqld]
Server-ID = 2
릴레이-로그 = mysql-relay-bin
로그 슬레이브 업데이트 = 1
읽기 전용 = 1

기본 서버에서 데이터 동기화를위한 사용자를 생성하고 복제 권한을 부여합니다.

'비밀번호'로 식별 된 사용자 '복제'@'%'를 만듭니다.
*. *에 'replication'@'%'에 복제 된 슬레이브를 부여;
플러시 권한;

메인 서버에서 다음 명령을 실행하여 현재 바이너리 로그의 파일 이름과 위치를 가져옵니다.

마스터 상태 표시;

서버에서 복제 연결을 구성합니다.

Master_host = '192.168.1.10', mas

서버에서 복제 함수를 시작하십시오.

노예 시작;

구성이 완료되면 마스터 서버의 데이터는 자동으로 슬레이브 서버와 동기화됩니다. 마스터 서버가 실패하면 슬레이브 서버가 즉시 인수하여 서비스 연속성을 보장 할 수 있습니다.

요약

위의 예제 코드 및 구성을 통해 Baidu Wenxin Yiyan API의 데이터 동기화 및 재해 복구를 실현할 수 있습니다. 이를 통해 웹 사이트의 성능을 향상시킬 수있을뿐만 아니라 문제가 발생하고 사용자 경험을 향상시킬 때 웹 사이트가 여전히 안정적으로 실행될 수 있습니다.