mysql密集写入问题
//1.根据设备号获取记录
$row = $this->user->get($did);
if(empty($row)){
//create new user
}else{
//login in with this uid
}
//2.login the server
return $info.
客户端逻辑是如果第二步不能登录的话会1秒钟一个请求一直发到服务器这边正常登录为止。
但是我发现偶尔会出现一个设备号写入多条记录(这些记录生成的时间间隔是1秒)的情况,按照逻辑是肯定不可能出现这种情况的,我怀疑是不是因为那段时间请求太多,mysql进程卡住了,所以程序这边一直返回是empty,然后一直去生成新记录,但是说不通,既然卡住了又怎么会写入成功呢,求达人指点一二,不胜感激。
回复内容:
各位大佬,我最近遇到个问题,首先我的程序逻辑如下:
//1.根据设备号获取记录
$row = $this->user->get($did);
if(empty($row)){
//create new user
}else{
//login in with this uid
}
//2.login the server
return $info.
客户端逻辑是如果第二步不能登录的话会1秒钟一个请求一直发到服务器这边正常登录为止。
但是我发现偶尔会出现一个设备号写入多条记录(这些记录生成的时间间隔是1秒)的情况,按照逻辑是肯定不可能出现这种情况的,我怀疑是不是因为那段时间请求太多,mysql进程卡住了,所以程序这边一直返回是empty,然后一直去生成新记录,但是说不通,既然卡住了又怎么会写入成功呢,求达人指点一二,不胜感激。
大家有什么想法可以交流一下啊。
把你完整的代码发出来看下
把两步合为一步,第一步里面就自动为其登录。