Session::put('key', 'value');
Session::save();
Так откуда ты берешь асинхронность? Может ты просто не сохранял сессию или не перезагружал модель?
последующий код напросто не возьмет значения сессии поскольку она ещё не записаласьПочему? Что такое «последующий код» в данном случае?
$response = $next($request);
берутся куки, запускается если нет сессия, а потом уже сессия сохраняется и пишется в куки идентификатор. То есть по логике вещей в данном случае:session(['captcha' => mt_rand(0, 11)]);
$val = session('captcha');
$v = mt_rand(0, 11);
session(['captcha' => $v]);
$val = $v;
session('captcha')
Session::put('key', 'value');
Session::save();
равнозначноsession(['key' => 'value']);
session()->save();
session(['key' => 'value']);
и ждал, что оно запишется в редис — ну что тут сказать... ->save()
session(['key' => 'value']);
session()->save();
$val = session('key');