Исправлена ли проблема в memcached с блокировками в php-сессиях

Nezhnayka

Новичок
Добрый день.

Пришел к использованию memcached, установил и вдруг наткнулся на вот эту статью: http://habrahabr.ru/post/38261/ где описывается проблема с блокировками и как следствие проблема с php-сессиями.

Но статья правда от 2008 года, изменилось ли что-то с этой поры, можно ли сегодня без костылей и не опасаясь чего либо использовать memcache для хранения php-сессий?
 

MiksIr

miksir@home:~$
В memcached (не memcache) расширении вроде сделана система блокировок, так что должно работать как на файлх.
Но по большому счету как раз блокировки - это проблема, а не их отсутствие. Просто внутренний механизм сессий сделан для школьников. А если вам по каким-то действительно весомым причинам нужно использовать мемкеш - то пора уже самому делать нужный механизм кеширования, где вы сами определяете - нужна ли вам блокировка и какого типа.
 

Nezhnayka

Новичок
Спасибо за ответы, но ответ на свой вопрос так и не получил. Проблема, которая описана в той статье на хабре как-то решалась на протяжении 7-ми лет, или так-же надо быть крайне внимательным при использовании memcached для php-сессий?
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Nezhnayka, никакой проблемы, описанной в статье - нет. Есть примеры как можно использовать инструмент. Автор статьи забивает гвозди микроскопом.

Ты так и не написал, нахрена тебе хранить сессии в мемкеше. Вот как только ты ответишь на этот вопрос, дальше мы уже сможем дискутировать предметно.
 

Nezhnayka

Новичок
>> Есть примеры как можно использовать инструмент. Автор статьи забивает гвозди микроскопом.
Там и в комментах люди пишут, что сталкивались с проблемой хранения информации в php-ceссии при использовании memcached.
>> Ты так и не написал, нахрена тебе хранить сессии в мемкеше
Для оптимизации быстродействия сайта.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Опять оптимизация быстрогействия. Уверен, что это то место, которое надо оптимизировать?
 

Nezhnayka

Новичок
Кеширование уже переведенено на memcached, так-же и php-сессии туда-же хотел перевести, но встретил эту статью на хабре
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
Nezhnayka, я использую memcache для сессий. Выигрыш в скорости открытия страниц по сравнению с сессией в базе очень большой, порядка 30%.

То, чего ты боишься, называется race condition, и тебе нужен простой ответ: уже все хорошо, все наладили.
Нет, race condition вечен. Помощи не будет, а проблемы - будут. Спасения нет. Все умрут. Если продолжишь - тему удалю.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
grigori, а теперь подумай, будет ли у него ускорение в 30%, если у тебя хайлоад, а у него домашняя страничка. Зато он может вполне себе получить все прелести, что дает мемкеш, к примеру вытеснение ключика

http://lzone.de/articles/memcached.htm - может быть кому-то будет полезным.
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
да, c0dex, спасения нет, домашняя страничка навсегда останется глючной, при заходе на нее нескольких тысяч пользователей одновременно она будет терять сессии, пользователи будут ругаться, аффтор будет покрыт вечным позором и подвергнут ... каре
 
Последнее редактирование:

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
*паника*
Ну я вот сессии пихнул в мемкеш не потому, что мне надо было ускориться. Автор же почему-то решил, что ему надо. Я хочу понять, как он это понял)
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
Да, ты пихнул сессии в мемкеш потому что тебе надо было объединить сессии нескольких фронтов, и ты слишком ленив, чтобы ставить для нее монгу.

А я - потому что это делается двумя тычками и таки дает ощутимое ускорение, и плевать на вытеснение и RC, я в сессиях храню только user_id.

Можем еще покапитанить, но надо работать.
 
Последнее редактирование:

Nezhnayka

Новичок
>> Если продолжишь - тему удалю
По причине?

Клевое у вас сообщество, такое впечатление, что собралось 20-30 человек и мило между собой общаются, как только приходит новый чел с каким-то вопросом, его сразу пинают и вместо ответа человек уходит оплеванный. Плюс еще и модер видимо придерживается этой-же идеологии. За что тему-то удалить, я кого-то оскорбил или что-то не так спросил, или что-то не так сделал? Удалять надо тех, кто хомит здесь и язвит без причинно, делая вид что он пи***дец - мозг планеты сей, а не тех кто пришел и вежливо пытается что-то спросить.

Без обид ... но немного не понятно такое отношение.
 
Последнее редактирование:

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Nezhnayka, потому, что ты не ответил зачем тебе это надо. Потому, что ты не понимаешь того, что мемкеш не спасет тебя от "тормозов", там все те же блокировки сессии по дефолту. Потому, что grigori у нас строгий =)
 
Сверху