2012-11-06 7 views
0

페이지가 AJAX 호출을 서버로 보내고 응답으로 항목 정보를 가져와야합니다. 룩업/리턴 배열은 다소 큰 것이기 때문에 요청을 받아들이려면 PHP 파일에 저장할 수 없습니다. 따라서 내 지식과 경험에서 알 수 있듯이 두 가지 방법이 있습니다.서버에서 데이터를 가져 오는 AJAX

  1. 각 요청에 대해 데이터베이스에 액세스하십시오.
  2. 파일에 항목을 저장하고 (예 : 'item12.txt') 사용자에게 내용을 보냅니다.

My C 경험에 따르면 파일을 열고 닫는 것이 프로그램의 나머지 부분보다 훨씬 더 많은 시스템 시간을 필요로한다고합니다. 그것은 PHP에서 어떻게됩니까? 선호되는 방법 (가장 중요한 것은 자원별로) - 파일 시스템 또는 데이터베이스? 권장 할만한 다른 방법이 있습니까 (예 : 자바 스크립트가 각 요청에 대해 서버에서 가변 배열로 파일을 직접로드). 주위에있는 혁신적인 방법이 있을지도 모릅니다.

P. 서버 쪽에서는 번호 만 허용되므로 서버에있는 파일에 액세스하려는 사람이나 데이터베이스에서 멋진 작업을하려는 사람에 대해서는 걱정할 필요가 없습니다.

답변

0

소켓

, 당신은 소켓 연결에 볼 수 있었다. 소켓은 클라이언트와 서버 간의 양방향 통신을 제공하므로 필요에 따라 대화식 작업을 수행 할 수 있습니다.

Socket tutorial 1
Socket tutorial 2

Node.js를

Node.js를이 블록에 새로운 아이이다. 당신은 자신의 소켓 웹 서버를 작성하고 자바 스크립트를 사용하여 통신합니다. 이것은 훨씬 더 효율적이고 신뢰할 수있는 Ajax의 훌륭한 대안입니다.

node.js는 PHP와 함께 실행할 수 있으며 ajax와 유사한 호출에만 사용됩니다. 나는에 충실 할 계획하지만, 여전히 흥미로운 질문 나올 것이라는 희망이 뭔지

node.js
node.js socket turotial

+0

감사합니다. 조사해 보겠습니다. 요청 건수는 어떻게 영향을 미칩니 까? 이 방법은 무엇보다 많은 양의 요청 또는 다른 방법으로 사용합니까? 참조 할만한 자료가 있습니까? – demechanico

+0

소켓 사용의 이점은 양방향성을 허용한다는 것입니다. 이는 서버가 클라이언트에 업데이트를 알릴 수 있음을 의미하며 클라이언트는 변경이 발생했는지 확인하기 위해 폴링 할 필요가 없습니다. 이렇게하면 요청 수가 크게 줄어 듭니다. – Kao

0

혁신적인 점은 없습니다. 데이터에 대한 호출 빈도가 낮고 데이터에 매우 간단하게 액세스하려면 파일을 사용하십시오. 하지만 오늘은 데이터베이스 (SQL Lite)를 사용하는 것이 훨씬 좋습니다. 성능이 더 필요한 경우 MySQL 또는 NoSQL 솔루션을 사용하십시오. 도구는 사물을 해결하기 위해 만들어졌습니다. 귀하의 목적에 맞는 도구를 사용하십시오. 당신이 취급 얼마나 많은 요청에 따라

+0

. 답변 해주셔서 감사합니다. – demechanico

관련 문제