PHP/MYSQL并发

标签 php mysql concurrency real-time

我正在编写类似 omegle 随机聊天的代码,我有一个名为 chat_users 的表,其中 我正在存储不与任何人聊天的人,他们刚来,然后当他们开始与其他人聊天时,我将删除他们

让我们说 我们有名为 uid1、uid2、uid3 的用户

在 1:05 和 5 秒(任何特定时间)uid1 请求与 uid2 聊天并从表中删除 但同时 uid3 也得到了 uid2 作为随机结果然后它会成为问题 因为 uid2 不存在它与 uid1 聊天

我该如何解决这个问题??

最佳答案

使用transactions .

澄清:将随机结果的选择和随后的删除包装在一个事务中,问题就会消失,因为 mySQL 然后应该处理冲突的事务。

关于PHP/MYSQL并发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9401783/

相关文章:

php - Cakephp 错误重定向

php - 使用未定义常量 __DIR__

php - 从 mysql 表中回显单个值

java - 加载并连接到 mysql jdbc 驱动程序运行时

mysql - 执行 'SELECT INTO OUTFILE' 时错误访问被拒绝的 mysqldump 的正确权限是什么?

google-app-engine - GAE Golang 实现一些独特的请求队列?

java - Java中的并发(FX)

php - MySQL 无法识别 MD5

MySQL 左连接意外输出

PHP 10000并发调用和MYSQL查询等待时间又慢