最简单的方法数据库加unique key复杂一点:
单台web机器,使用本地文件锁flock,一个用户名一个本地文件
多台机器 ,使用memcache inc 实现锁机制 http://ju.outofmemory.cn/entry/48924
单台web机器,使用本地文件锁flock,一个用户名一个本地文件
多台机器 ,使用memcache inc 实现锁机制 http://ju.outofmemory.cn/entry/48924
if ($v === false) {
$memcache->set ( $key, 0 );
}
$index = $memcache->increment ( $key, 1 );两个并发请求a,b 会同时get($key)吗
然后a set($key),再b set($key) 不就被后者覆盖了吗
但是
$index = $memcache->increment ( $key, 1 );
if($index == 1)//这句只有一个进程会符合条件
{}