管理跨進程的鎖:
以下只是個人理解,如果有疑問請參考官方文檔 https://xueyuanjun.com/post/19506.html#bkmrk-%E5%8E%9F%E5%AD%90%E9%94%81
$key = 'test:'.$uid;
// 在控制器中,給這個key上鎖10秒鍾,如果不主動釋放,10秒鍾后服務器會自動釋放
$lock = Cache::lock($key, 10);
$result = $lock->get();
if ($result) {
// 模擬各種復雜計算,然后代碼沒執行完,下一個請求又過來了
sleep(2);
echo '執行了一次表單提交!';
// 主動釋放鎖
Cache::lock($key)->forceRelease();
}
echo '請不要頻繁重復提交表單';