Предоставление каждому из моих незарегистрированных пользователей уникального идентификатора сеанса в файлах cookie - PullRequest
1 голос
/ 20 апреля 2011

Мне нужно что-то вроде идентификатора сеанса.Мне нужно будет отслеживать пару тысяч пользователей, посещающих веб-сайт.Для балансировки нагрузки (несколько экземпляров PHP и NGINX) я, к сожалению, не смогу использовать session_start () и перехватить sessionid, потому что он должен охватывать несколько веб-серверов.

Эти пользователи не вошли в систему, поэтомуЯ не буду ничего о них знать, кроме их браузера, ip и плагинов.

Я подумал, может быть, используя APC, и сделаю что-то вроде apc_store ('count', 1);

Идать текущему пользователю идентификатор = 1.

Следующий пользователь получит apc_fetch ('count') + 1, но я думаю, что это будет очень медленно и, вероятно, также будет содержать условия гонки.

1 Ответ

3 голосов
/ 20 апреля 2011

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

Например, вы могли бы:

  • Хранение сеансов в базе данных, общей для всех веб-серверов
  • Или хранить сеансы в кластере memcached (лучшее решение - и довольно просто)


Пара интересных ссылок:

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