有些时候,对于并发,我们只想执行一次。多次并发请求就打破了你的想。这里我们用 redis 来弄就好。
操作一波
这里以 laravel 为例
use Illuminate\Support\Facades\Redis;
$time = 60;
$key = 'mimi' . $user->id;
// 如果不存在就 set 值,返回 0 或 1,set 成了返回 1,否则返回 0(表示已经锁住了,不要进去了)
$res = Redis::setnx($key, $user->id);
if ($res) {
# 设置 redis 过期(锁的时间秒)
Redis::expire($key, $time);
# 你的业务
xxxxxx
}
laravel 并发处理,php 并发处理