這里寫問題描述
$is_lock = Redis::setNx($edit_id, $uid);
//并發(fā)鎖(設置成功,返回 1 。 設置失敗,返回 0 。)
if ($is_lock === 1) {
//操作更新數(shù)據(jù)庫
.............
//釋放并發(fā)鎖
Redis::del($edit_id);
}else {
//防止死鎖(5秒釋放鎖)
Redis::expire($edit_id, 5);
return json(['status' => 201, 'msg' => '活動太火爆啦,請稍候再試~']);
}
防止高并發(fā),多個用戶同時編輯$edit_id的數(shù)據(jù),大家看下有問題嗎?還有什么優(yōu)化的?
$is_lock = Redis::setNx($edit_id, $uid);
//并發(fā)鎖(設置成功,返回 1 。 設置失敗,返回 0 。)
if ($is_lock === 1) {
//防止死鎖(5秒釋放鎖)
Redis::expire($edit_id, 5);
//操作更新數(shù)據(jù)庫
.............
//釋放并發(fā)鎖
Redis::del($edit_id);
}else {
return json(['status' => 201, 'msg' => '活動太火爆啦,請稍候再試~']);
}