두 명의 사용자 A와 B가 있고 친구로 추가하기 위해 서로에게 친구 요청을 동시에 보내는 경우이 상황이 발생합니다. 이 관계를 지원하는 데이터 모델에는 inviter_id 및 friend_id 열과 상태가 있습니다.PHP에서 동시 요청 처리
두 사람이 서로 요청을 보냈으므로 절대적으로 동시 발생했기 때문에 동일한 관계의 개시자인 데이터가 데이터베이스에 더러워 지므로 요청자로 저장해야하는 사람을 결정할 때 문제가 있습니다.
다른 언어에서는 다른 언어가 제공되는 동안 대기하도록 설정하여 잠금을 처리 할 수있는 잠금 구조가 있습니다. PHP와 Apache에서 이것을 구현하는 방법을 모르겠다 .. 이것에 대한 조언을 구하십시오.
실제로 A의 초대를 수락 (A 이미 초대하는 동안 B) 친구 같이 추가하려고하면 당신의 문제를 이해하지 못한다. 두 명의 친구 요청이 있고, * 두 명의 사용자가 초보자입니다. 다른 사용자도 초 기자인지 확인하여 두 요청을 자동으로 해결할 수 있습니다. – hakre
@hakre -이 요청은 병렬로 발생하므로 데이터베이스가 원형 종속성을 생성 할 때까지 (즉 개시 자로 저장하는 경우) 서로를 알 수 없다는 점을 고려하여 문제를 설명했습니다. 하지만, 응답에서 나는 항상 타임 스탬프 지연이있을 것이므로 2 요청이 아파치와 평행을 이룰 수 없다는 것을 깨닫습니다. – fortm
비록 이것이 문제가되어서는 안됩니다. 두 사용자는 친구 요청이 있다는 알림을 받게됩니다. 해당 알림을 생성/처리하는 순간 다른 사용자가 우정을 요청했는지 확인한 다음 자동으로 두 가지 모두를 수락 할 수 있습니다. – hakre