2012-09-06 4 views
2

내 Wordpress 사이트에 제품 정보를 표시하기 위해 API를 사용하고 싶지만 월 1000 건의 서버 요청 후에 비용이 청구될 것입니다.API 데이터를 저장할 수 있습니까?

요청한 데이터를 다시 사용할 수 있도록 저장할 수 있습니까? 할당량을 넘기지 않고 재사용 할 수 있습니까? 잠재적 인 문제가 있습니까?

답변

2

예, 제한을 구현하는 이유는 사람들이 사이트에 데이터를 캐시 (저장)하도록 권장하기 때문입니다. 페이지를 표시 할 때마다 모든 사람이 API를 통해 데이터를 요청하도록 코드를 작성하면 API 서버를 빠르게 압도합니다.

데이터를 캐시하는 여러 가지 방법이 있습니다. 가장 간단한 방법은 모든 API 호출을 매일 밤 실행되고 각 API 요청의 결과를 디스크의 다른 파일에 저장하는 cron 작업으로 이동하는 것입니다. API url에 연결하는 대신이 파일을 읽도록 웹 페이지 코드를 변경할 수 있습니다. (filemtime()을 사용하여 파일의 수명을 확인하고 하루가 지나면 자동으로 요청할 수도 있지만, 서버가 사용 중이며 파일이 만료되면 여러 요청이 들어 오면 제한을 초과 할 위험이 있습니다 api 요청 - 크론 작업은 안전한 경로 임)

전체 응답을 캐싱하는 것은 페이지를 표시 할 때마다 분석해야한다는 단점이 있습니다. 그러나 간단한 API 호출에 대해 가장 간단한 솔루션을 원한다면, 그럴거야.

올바른 방법은 cron 작업의 응답을 구문 분석하고 작업하기 쉬운 방식으로 데이터베이스에 데이터를 저장하는 것입니다. 그런 다음 데이터베이스에서 필요한 데이터 만 요청할 수 있습니다. 그러면 사이트 전체가 빠르게 실행되고 메모리가 적게 사용됩니다.

+0

귀하의 답변이 도움이되었습니다. 정말 고맙습니다! – user1650669

0

Wordpress 사이트를 개발 중이므로 Transients API을 조사하고 구현하는 것이 좋습니다.

이것은 cron 작업에 매우 가깝게 작동하며 Wordpress Plugin이나 Theme을 통해 관리 할 수있는 더 간단한 캐싱 솔루션을 제공합니다. Wordpress Options API와 비슷하지만 설정에 만료 시간이 추가되었습니다.

관련 문제