Разве я не должен вызывать метод несколько раз, если мне это не нужно? - PullRequest
1 голос
/ 24 декабря 2009

В настоящее время я использую сессии довольно интенсивно, и сейчас я перекодирую свой сетевой сайт. Одна вещь, которую я сделал, сделал класс сеанса, который имеет несколько простых методов, например, вот как я могу получить данные сеанса, используя мой класс.

$session = new Session();

// to set a session I would use this
echo $session->set('user_id');

// to view a session's data
echo $session->get('user_id');

Теперь это в основном то же самое, что и установка просмотра сеансовой переменной обычным способом, за исключением того, что я провожу ее через этот сеансовый класс, моя цель - сделать его более гибким. Я полагаю, что если все данные сеанса проходят через этот класс на большом сайте, то все, что мне нужно сделать, чтобы изменить его источник для использования кэша или memcache или базы данных, это просто изменить файл класса сеанса.

ТАК на самом деле в настоящий момент у меня не так много пользы в использовании класса / методов для моих данных сеанса, но однажды я смогу.

Мой вопрос, на сайте с очень большим трафиком, было бы лучше не делать дополнительный вызов метода / класса каждый раз, когда мне нужно показать данные сессий?

Ответы [ 3 ]

1 голос
/ 24 декабря 2009

Не преждевременно оптимизировать. Скорее всего, у вас возникнут неэффективности или проблемы с алгоритмом, которые стоят несколько секунд, поэтому перестаньте беспокоиться о том, чтобы сэкономить миллисекунду здесь или там.

0 голосов
/ 25 декабря 2009

Вы используете шаблон, который иллюстрируется в нескольких фреймворках, одним из которых является фреймворк, который я лично использую, Zend Framework.

Комментарии по поводу оптимизации верны, снижение производительности сессионного материала, которое вы делаете, может быть настолько незначительным, что в конечном итоге это не будет иметь значения. Существует множество преимуществ, которые может обеспечить наличие класса сеанса для вас, и общее использование средами объекта сеанса в отличие от простого доступа к сеансу через функции должно ясно это показать.

С уважением,

0 голосов
/ 24 декабря 2009

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

Проверьте эту статью , что я имею в виду о производительности бэкэнда.

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