>  기사  >  백엔드 개발  >  비동기 - PHP 대량 데이터 데이터 가져오기

비동기 - PHP 대량 데이터 데이터 가져오기

WBOY
WBOY원래의
2016-08-04 09:21:441399검색

이제 엑셀 데이터를 데이터 테이블로 가져와야 하는데 데이터 양이 상대적으로 많아 한 번에 수십 개의 W 데이터를 가져와야 합니다. 하지만 인터페이스를 통해 한 번에 최대 1,000개의 항목을 처리할 수 있는데 시간이 오래 걸립니다. 이제 각 가져오기를 작업 기반으로 만들고 싶습니다. 작업 가져오기, 모든 작업을 대기열로 만들고 가져오기 작업을 순서대로 완료하세요. 좋은 방법과 제안이 있습니다

답글 내용:

이제 엑셀 데이터를 데이터 테이블로 가져와야 하는데 데이터 양이 상대적으로 많아 한 번에 수십 개의 W 데이터를 가져와야 합니다. 하지만 인터페이스를 통해 한 번에 최대 1,000개의 항목을 처리할 수 있는데 시간이 오래 걸립니다. 이제 각 가져오기를 작업 기반으로 만들고 싶습니다. 작업 가져오기, 모든 작업을 대기열로 만들고 가져오기 작업을 순서대로 완료하세요. 좋은 방법과 제안이 있습니다

당신의 아이디어는 매우 좋지만, 아쉽게도 PHP는 이런 종류의 작업에 적합하지 않습니다. 아이디어를 구현하려면 Java와 같은 언어를 사용하는 것이 좋습니다.

PHP에는 작업이 있으며 작업 매개변수를 데이터베이스에 직접 제출합니다.

Java는 백그라운드에서 100ms마다 데이터베이스에 액세스하여 작업이 있는지 확인하고 작업이 있으면 처리합니다.

php의 기본값은 30초입니다. set_time_limit(99999999)를 추가할 수 있습니다.
1분 이내에 수십만 개의 데이터가 덤프되어야 합니다

Crontab 작업 목록은 백그라운드 비동기 작업을 수행하며 이는 이 시나리오에 매우 적합합니다

  1. mysql 로드 데이터 파일은 데이터를 임시 테이블로 빠르게 가져옵니다

  2. php 데몬은 일괄적으로 데이터를 인터페이스에 동기화합니다(또는 crontab이 예약된 작업을 작성합니다)

php를 sql에 넣고 mysql 배경 소스를 직접 가져옵니다

한번에 가져오기보다는 섹션별로 가져오는 것이 가장 좋습니다

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.