пару вопросов по memchace

Печать RSS
160

Автор
Чатланин
0
Привет. Возникли пару вопросов по работе memcache.
1. Есть ли смысл использовать его если скрипт использует пару тысяч элементов (массивов по пару кб), которые берутся из базы (на данный момент они кешируются в файлы) и многие из них очень часто перезаписываются?
2. Я так понимаю, что мемкеш свободно работает с массивами. Есть ли смысл использовать serialize() если массив многомерный или можно его просто записывать?
3. Стоит ли придерживаться минимального количества ключей мемкеша или ему нет разницы?
4. Если ли команда вызова всех его ключей?
Возможно вопросы будут добавляться по мере освоения этого класса, поэтому большая просьба не устраивать в теме холивар аля есть ли бог на свете
Автор
Чатланин
0
Еще один вопрос.
5. Время жизни ключа независимо от Скрипта или проверяется непосредственно при обращении?
А

Оранжевые штаны
0
1. Есть смысл использовать его везде где только можно, если речь идет об обращении к постоянной памяти;
2. Нет смысла, кэш хорошо справляется и с многомерными массивами;
3. Не стоит, если память позволяет;
4. Зачем?
5. А какая разница? Если время прошло, то получить доступ к данным не получится
Автор
Чатланин
0
3. Башка, допустим есть записанные в кеш пользователи с временем жизни 300 секунд. Как определить список онлайн? Число онлайн? Сейчас у меня читает папку онлайн и файлы кеша пользователей в ней на предмет времени последнего изменения и соответственно удаляет старые и подсчитывает онлайн. Как бы классический вариант. А в случае мемкеша?
Это вопрос по 4 пункту.
А

Оранжевые штаны
0
Допустим у тебя нет ни одного вошедшего на сайт пользователя. Как только пользователь входит на сайт, ты записываешь информацию о нем в мемкеш в виде Users_User<ID>_Action, затем меняешь это значение с активностью пользователя. Параллельно записываешь в ключ Users_Actions массив ID активных пользователей, когда требуется, получаешь этот ключ и по нему проверяешь другие ключи. Это называется индексацией.
Вообще вариантов может быть много.
Автор
Чатланин
0
3. Башка, по поводу 5 пункта есть разница. Так как при варианте с файлами кеша последний пользователь остается онлайн до тех пор пока ктото не обновит страницу сайта и соответственно не запустит счетчик подсчета онлайн. В связи с этим возникает проблема со статистикой времени , проведенного на сайте. Мне пришлось прикручивать крон.
А

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

Добавлено через 07:37 сек.
Видел где то "обложку" на кэшеры, которая позволяет выполнять запросы к ним по типу SQL, но не помню уже как сие чудо называлось
Стикеры / Теги / Правила / Топ тем / Топ постов / Поиск