2014-02-22 5 views
0

알림 시스템에 longpolling 기술을 사용합니다. longpolling은 데이터베이스 테이블의 고유 ID를 확인하여 작동합니다. 마지막으로 변경된 ID보다 크면 데이터가 가져옵니다. 좋은 일 ...php jquery ajax를 이용한 Longpolling

나는 최근에 업데이트되고 삭제 된 행의 가치를 얻기 위해 longpolling 기술을 구현하는 방법을 궁금해합니다 ... 전통적인 shortpolling은 결국 데이터베이스를 수시로 파고하여 결국 그렇게 할 것입니다. . 그러나 요청을 longpolling에 ... 내가 4 행이 삽입되어 open..Suppose을 유지

id name body 

1 A blah 
2 B blah 
3 C blah 
4 D blah 

4 D abcd 

가 longpolling 기술 못해 갱신 부 페치 마지막 행의 삽입 등의 변화 .....가 지금 경우

또는 ID 2 로우는 그것을 deleted..Then 경우

작동하지 않습니다 ...

누구든지 방법을 제안 할 수 있습니까? shortpolling을 사용하지 않기 때문에 ... 그런 식으로 싶지 않으므로 ....

답변

0

"revision"이라는 새 열을 추가해야합니다. 개정은 행당이 아닌 "조치"당 자동 증가입니다.

정상적인 색인이어야합니다.

그래서 당신은 다음과 같이 시작 : 당신이 업데이트 행 두, 행 2 개정 삭제하기 6.

을해야 다음 경우 5해야 행 4 개정 필드를 업데이트 다음

Id Name Revision 
1 aaaa. 1 
2 bbbb. 2 
3 cccc. 3 
4 dddd. 4 

논리적 삭제 및 해당 행의 개정판을 업데이트하면 트릭을 만들어야합니다.

리비전별로 정렬하여 반환합니다.

+0

이해가 안 돼요. 행 4를 업데이트하면 개정판이 5가되는 이유는 무엇입니까? 행 2 삭제시 어떻게 6이됩니까? 나는 논리를 이해할 수 없다 ... – user3184462

+0

예 .. 나는 논리를 이해하고있다 ... 나는 행 2를 삭제한다고 가정한다. 그 다음에 개정은 6이고 다른 행을 추가하면 7이된다. 권리? – user3184462

+0

@ user3184462 정확히 맞습니다. 클라이언트는 현재있는 수정 ID를 보냅니다. –