2010-03-24 1 views
0

사용자가 작업을 수행 한 후 잠시 후 실행 취소 할 수있는 작업을 구현하고 싶습니다. 나는. 사용자가 사진 사이트에서 사진을 상향 표시하면 30 초 이내에 투표를 취소 할 수 있습니다. 이것은 StackOverflow의 투표가 작동하는 것과 비슷합니다. 단시간에 투표를 취소 할 수 있습니다.PHP 및 JavaScript에서 일시적으로 실행 취소 가능한 작업을 구현하는 방법은 무엇입니까?

어떻게 구현해야합니까? 성능상의 이유로 지연 시간이 초과되기 전에 데이터베이스에 투표를해서는 안됩니다. 그리고 지연이 시간 초과되기 전에 사용자가 웹 사이트를 변경하면 투표가 손실되기 때문에 JavaScript로 처리하기가 어렵습니다. 어쩌면 내가 쿠키에서 그것을 할 수있는, 아니면 최선의 해결책은 PHP 세션에서 그것을하는 것입니다,하지만 지연 후 작업을 커밋합니까?

답변

3

예를 들어, 데이터베이스에 타임 스탬프를 사용하여 투표를하십시오. 그것은 깨끗하고 쉬운 솔루션입니다. 성능 문제가 발생하면 sqlite와 같은 메모리 내장 데이터베이스를 투표 데이터 계층의 보조 백엔드로 사용할 수 있습니다.

+0

나는 이것을 두 번째로 줄 것이다. 대부분의 일은 아마도 실행 취소되지 않을 것이며, 모든 것이 취소 된 경우에도 실행 취소의 부하가 2 배에 불과합니다. 키스. – Amber

+0

조언 해 주셔서 감사합니다. DELETE-Undo 쿼리를 제안합니다. 그리고 JavaScript와 DELETE- 쿼리의 WHERE- 부분에 의해 타임 스탬프를 모두 확인하십시오. 흠, 효율적인 해결책이 될 수 있습니다. – Jonas

관련 문제