Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
当有 2 个用户 A 和 B 并且他们同时向对方发送好友请求以添加为好友时,我遇到了这种情况。支持这种关系的数据模型具有invitation_id 和friend_id 列以及一个状态。
由于他们两个一起向对方发送请求,我在决定谁应该作为请求的发起者存储时面临问题,因为数据可能会在数据库中变脏,因为它们都是相同关系的发起者,因为它们是绝对并发的。
在其他语言中,有锁的构造可以通过让一个等待而另一个被服务来处理这个问题。我不知道如何在 PHP 和 Apache 中实现这一点。请对此提出建议。
你应该这样做: A - 如果 B 正在尝试将 A 添加为朋友(而 A 已被邀请 B)则发送邀请 然后 B 自动接受 A 的邀请
从技术上讲,您不会“同时”收到这些请求,这意味着如果您以合理的分辨率(如秒或什至毫秒)检查请求的时间戳,您将能够简单地分辨出哪个是第一个这样做的。