Десериализия или создание объекта заново, что быстрее?

  • Автор темы Автор темы Grey_EM
  • Дата начала Дата начала

Grey_EM

Guest
Десериализия или создание объекта заново, что быстрее?

Несколько теоретический вопрос.
Пишу нечто вроде мастера (wizard). Мастер будет содержать несколько шагов (экранов). На каждом шаге пользователь отвечая на некоторые вопросы изменяет состояние объекта "Заказ". Передачу состояния объекта от экрана к экрану можно осуществить через кодирование в url значений конкретных переменных, а можно просто сделать объект сессионным. В первом случае имеем создание объекта заново при каждой следующей обработке запроса, во втором имеем расходы на десериализацию объекта в память.
Какой из методов будет быстрее?
 
меня самого давно интересовал этот вопрос :) а вот до тестов никак руки не доходят :( по моему разницы особой не будет.. но сохранение в сессии все же удобнее и для тебя и для пользователя..
Я за сериализацию :)
 
Лучше через сессии. Хотя бы потому, что ты на каждом шаге будешь иметь достоверные данные предыдущих шагов. В случае передачи через URL или поля формы всегда есть вероятность злонамеренного изменения данных.
 
Да через сессию лучше, но есть ньюансы:
1. Если пользователь несколько раз запустит твой Мастер (откроет несколько окон), нужно различать какой объект Заказ к какому окну отностися. Выход - через url передавать какойто id идентифицирующий объект Заказ.
2. Если поьзователь не пройдет Мастер до конца а закроет окно, объект Заказ так и будет жить в сесии, пока он просто будет лазить по сайту, а это некоторые ресурсы.
 
я недавно делал что то подобное
имхо:
Автор оригинала: Oleg Uskov
Да через сессию лучше, но есть ньюансы:
1. Если пользователь несколько раз запустит твой Мастер (откроет несколько окон), нужно различать какой объект Заказ к какому окну отностися. Выход - через url передавать какойто id идентифицирующий объект Заказ.
ничего не мешает хранить id также в сессии
2. Если поьзователь не пройдет Мастер до конца а закроет окно, объект Заказ так и будет жить в сесии, пока он просто будет лазить по сайту, а это некоторые ресурсы.
так это наоборот лучше с другой стороны, так как к нему можно будет в любое время вернуться.
 
Гонять через http хуже хотя бы потому что их надо:
1 - гонять через браузер -> лишний траффик, лишние задержки
2 - прикручивать подписи и проверки, чтобы убедится что он не нашаманил
3 - ты не знаешь что же он там наwizard-ил, пока не нажмет финальную кнопку, а тебе это когда нить потребуется (вопрос в духе "с какого шага пропадает больше всего посетителей?")

ну и тп
 
Сессия - это частный случай сериализации/десериализации.
 
Автор оригинала: ForJest
Лучше через сессии. Хотя бы потому, что ты на каждом шаге будешь иметь достоверные данные предыдущих шагов. В случае передачи через URL или поля формы всегда есть вероятность злонамеренного изменения данных.
Невероятное единодушие :)
Вот и хорошо.
 
Однозначно сессии потому как:

1 post from .des.
2 отсутствие паровоза в адрес.строке

2Oleg Uskov :

to q1:IMHO если я не обшибаюсь есть такое понятие как ид.сесии
to q2: а время жизни сесси что уже нельзя менять?
а еще есть Жабаск(Не путать с Вуглускр'ом:) на котором можно отследить закрытие окна и вывести махонькое оконце с благодаствием за посещение или же отчет о сделанных покупках етс. и там же сделать
PHP:
session_unregister();

PS: в одной из фотогалерей я так и сделал : пошарился юзр по фтг свалил дальше по сайту бродить потом вернулся а тут ему сервис - помнят о нём где остановился, что смотрел - так что тут еще стоит покопаться
wbr 2 all :)
PS OFT:как хорошо что 8 марта всего лишь раз в году %-)
 
Сверху