Pull to refresh

php: Хранение объектов в сессии

Reading time 3 min
Views 5.5K
Lumber room
На недавно отпиареном здесь ресурсе наткнулся на вопрос о хранении в сессии php созданных в скрипте объектов.

Насколько плохой практикой является в принципе хранение объектов в сессии, я обсуждать не буду, а просто покажу, как надо работать с такими объектами. Впрочем, если специалисты уже нашли рецепт на php.net, и считают, что все тривиально, я с ними полностью соглашусь. Однако если вы немного не в курсе…
Читать дальше →
Total votes 10: ↑7 and ↓3 +4
Comments 15

Сессии в PHP — подводный камушек при асинхронных запросах

Reading time 1 min
Views 20K
Ajax *PHP *JavaScript *
Небольшая предыстория.

У меня есть хобби-проект трекер.ру
Алгоритм такой: пользователь вводит поисковый запрос, этот запрос «на лету» ищет торренты на сторонних трекерах (рутор, рутрекер, tfile и тд).
Для параллельного поиска идет одновременно несколько аякс запросов, которые должны обработаться асинхронно.
Однако, запросы выполнялись синхронно. Если какой-то трекер долго не отдавал ответ, то остальные запросы подвисали и ждали ответа от подвисшего трекера. Общее время выполнение запросов равнялось сумме всех запросов. Хотя, по моим планам общее время должно было равняться самому долгому запросу.
Долго ломал голову, почему так. Грешил на HTTP pipelining. Но, причина оказалась намного банальней. Все дело в сессиях. Дело в том, что сессии в php консистентны и php не даст обратиться другому процессу к уже занятой сессии.
Потыкать и полюбоваться результатом
Total votes 51: ↑30 and ↓21 +9
Comments 21