PHP: Избавляемся от блокировки при параллельных AJAX-запросах
При большом количестве AJAX или REST запросов к сервису существуют "узкие" места, которые необходимо оптимизировать. Это даёт значительный прирост производительности, т.к. предотвращает ожидание разблокировки в момент выполнения мультипоточных запросов внутри одной сессии.
session_start();
//Работа с сессией
$user=$_SESSION['username']; //пример
if ($user=="") { //пример
session_write_close();
//
//"тяжёлый" код без непосредственной работы с сессией
// ...
//$user=....;
//
//повторное открытие сессии
ini_set('session.use_only_cookies', false);
ini_set('session.use_cookies', false);
ini_set('session.use_trans_sid', false);
ini_set('session.cache_limiter', null);
session_start();
}
//снова работаем с сессией
$_SESSION['username']=$user; //пример
mysql: Обновление записи с выборкой по условию одним запросом (пример):
UPDATE table SET field=field+100 WHERE row_id=value;