Вы должны иметь возможность хранить данные сеанса PHP в оперативной памяти Apache, установив session.save_handler
в mm
. Однако для этого вам нужно скомпилировать PHP с модулем управления памятью (--with-mm
), который, как мне кажется, не доступен для Windows.
Если вы хотите использовать memcached или какой-либо другой механизм кэширования, то, вероятно, было бы лучше реализовать пользовательские обработчики хранилищ, используя session_set_save_handler
, поэтому вам не нужно переписывать управление сеансом. код.
Если вы сделаете это, то я не думаю, что есть какие-либо очевидные недостатки для хранения данных сеанса таким образом. Очевидное преимущество - скорость.
Изменить:
Я наткнулся на на этой странице , где помимо скорости обсуждаются основные преимущества / недостатки использования memcached для хранения сессий, а именно:
- Легко обмениваться сессиями между несколькими веб-серверами без использования липких сессий.
- Однако memcached не дает никаких обещаний хранить данные до истечения срока их действия - только то, что данные будут не доступными после истечения срока действия. Поэтому, если в memcached мало памяти, он не использовался в последнее время или сервер вообще не работает, данные сеанса будут потеряны.