Использование ресурса session_start () - PullRequest
0 голосов
/ 21 сентября 2011

Я использую $ _SESSION для аутентификации пользователей, но я тоже думал о хранении другой переменной в сессии. Тем не менее, я понятия не имею, сколько сеанса может использовать ресурсы на сервере. Я имею в виду, вредно ли иметь session_start () на каждой странице, так как сессия будет запускаться, даже если она не нужна?

Хорошо или плохо или нейтрально начинать сеанс при каждом посещении?

Ответы [ 2 ]

2 голосов
/ 21 сентября 2011

Вообще говоря, не беспокойтесь об оптимизации, пока не увидите, что ваш сайт начинает сканировать.

Использование session_start () на каждой странице совершенно не вредно, фактически оно довольно стандартно для веб-сайтов, использующих аутентификацию.

1 голос
/ 22 сентября 2011

Да, session_start () потребляет ресурсы. Однако, если ваш сайт не имеет огромное количество трафика, не так, как вы заметите. И альтернативные способы хранения данных сеанса почти все труднее реализовать, и, как правило, имеют интересные режимы сбоев.

Единственное, что я бы порекомендовал, это быть осторожным с тем, что вы делаете в сеансе - огромные объемы данных окажут заметное влияние даже при более низких уровнях трафика. Классическая ошибка - случайно загрузить все дерево объектов для вашего уровня бизнес-логики в состояние сеанса.

Например, предположим, что вы строите корзину для покупок; когда клиент нажимает «добавить в корзину», вы хотите запомнить добавленный товар. Таким образом, вы можете добавить уникальный идентификатор элемента в сеанс, но тогда вам придется искать цену и описание каждый раз, когда вы показываете корзину, что является болью. Итак, вы решили загрузить объект, представляющий элемент, в ваш сеанс. Этот объект содержит цену и описание, а также категорию элемента - и все остальные элементы в этой категории, потому что ваше приложение не использует отложенную загрузку. Итак, теперь каждый предмет в вашей корзине также содержит сотни или тысячи других предметов; и прежде чем вы узнаете, где вы находитесь, вы загрузили почти всю свою базу данных в сеанс.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...