![]() |
|
Модераторы: korob2001, ginnie |
![]()
|
|
| frenkys |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 185 Регистрация: 18.6.2005 Репутация: 1 Всего: 1 |
Например модуль CGI::Session::Mysql
создает поле a_session типа <MEMO> следующего содержания : $D = {_SESSION_ETIME => 62,_SESSION_ID => '63f673a2f642647df0ab3ce3a8d02794',_SESSION_ATIME => 1147037696,_SESSION_REMOTE_ADDR => '127.0.0.1',_SESSION_CTIME => 1147037696}; Как бороться с метрвыми сессиями? Неужели лучше способа чем иногда запускать скрипт который будет: залазить в каждую ячейку таблицы,парсить это поле,находить разницу между СTIME и реальным временем, сравнивать ее с ETIME - в итоге удалять если она больше ETIME ? --------------------
niva[frenky] |
|||
|
||||
| rcdimon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 766 Регистрация: 12.7.2004 Где: Москва Репутация: 1 Всего: 2 |
Я вообще не пользуюсь никакими модулями.. Я сессии вручную организовываю. Если чел нажал кнопку выход- сразу удаляй сессию.. А если нет- то тут по моему только если специально порасить.. У меня например для этого отдельная программа, которая запускается по CRON.... правда она не только сессии чистит... а выполняет массу другой необходимой работы
|
|||
|
||||
| frenkys |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 185 Регистрация: 18.6.2005 Репутация: 1 Всего: 1 |
а для многопользовательский и очень ресурсоемких проектов на перле что можешь посоветовать насчет сессий ?
может их вобще не делать и просто передавать? --------------------
niva[frenky] |
|||
|
||||
| sharq |
|
|||
![]() Perl Liker ![]() ![]() Профиль Группа: Участник Сообщений: 841 Регистрация: 13.12.2004 Где: Ростов-на-Дону Репутация: 23 Всего: 28 |
frenkys, я тоже на эти грабли напарывался. И решил для себя, что нужно делать свои сессии, которую будут максимально управляемыми. Хотя для старта этот модуль отличный
-------------------- [color=gray]There's More Than One Way To Do It[/color] |
|||
|
||||
| frenkys |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 185 Регистрация: 18.6.2005 Репутация: 1 Всего: 1 |
сенкс за дельный совет, вот токо вопросик: что быстрее для сессий мускул или файлы? (в случае бошьших нагрузок)
--------------------
niva[frenky] |
|||
|
||||
| rcdimon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 766 Регистрация: 12.7.2004 Где: Москва Репутация: 1 Всего: 2 |
В мускулом в любом случае на много удобнее работать. и хотя бы пожтому я поставил бы на него.
А скорость- поставь индексы нормально и тормозить скорее всего не будет |
|||
|
||||
| korob2001 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 31 Всего: 61 |
Я сессии сейчас вообще храню не в БД, а в текстовом файле, вся информация в этом файле шифруется различными алгоритмами. Раньше тоже хранил всё в базе данных, но потом после нескольких тестов заметил, что скорость выполнения программы значительно выше не смотря на то, что постоянно нужно дешифровать данные из файла.
В файле хранится вся необходимая информация о юзере, для всей продолжительности сессии. Такие вещи как пароль, номера кредиток, телефонные номера, адрес пользователя в файл не сохраняю, если они кому-то понадобятся никогда не поздно обратиться за ними к БД, но они, как правило, нужны очень редко. Это сообщение отредактировал(а) korob2001 - 9.5.2006, 15:50 -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
|||
|
||||
| frenkys |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 185 Регистрация: 18.6.2005 Репутация: 1 Всего: 1 |
тоже вариант
мнения разделились 50% на 50% :О) ну а что быстрее обработать в минуту 1000 файлов или 1000 записей таблицы? --------------------
niva[frenky] |
|||
|
||||
| rcdimon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 766 Регистрация: 12.7.2004 Где: Москва Репутация: 1 Всего: 2 |
Да, если тебе надо хранить сессию от панели администратора, пока он там один гуляет, а на самом сайте нет закрытых разделов, то тут можно и с файлом сделать.. А если у тебя тысячи пользователей. У каждого есть свои личные панели, у каждого свои личные данные и каждому надо хранить сессии то тут файлы в пролете.
Я раньше вообще все делал через файлы |
|||
|
||||
| frenkys |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 185 Регистрация: 18.6.2005 Репутация: 1 Всего: 1 |
:O) ok сенкс , очень убедительно , буду БД мучать
--------------------
niva[frenky] |
|||
|
||||
| korob2001 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 31 Всего: 61 |
А зачем юзать 1000 файлов? Можно и один файла с 1000 записями юзать. Ещё раз повторю, в нём храним только ту инфорацию о пользователе, которая чаще всего используется, а вот базу можно юзать тогда, когда нужна информация которую ты не поместил в файл сессии либо в целях безопасности, либо просто из-за не частого её использования. Например вот так может выглядить простой файл сессии:
Это DBM файл, где ключь - это ключь сессии, а значение информация о пользователе, которая чаще всего используется. С DBM файлами Perl работает так же как и с хешами, а с последними он работает очень быстро. В примере выше подразумевалось, что ты часто будешь обращаться к пользователю по его реальному имени, пол нужн для правильного склонения при обращении к пользователю, например при отправке письма или же просто приветствия или же при выдаче какого-либо сообщения. При каждом обращении пользователя обновляешь время жизни сессии. Если тебе нужна такая информация как реальный адрес пользователя или же телефонные номера, номера кредиток и прочее, но используются они не часто, тогда получаешь ID клиента из DBM файла и обращаешься за ними к базе данных. PS: ИМХО, базу нужно использовать только там, где это нужно. Меня больше всего убивает, когда пишут счётчик посещений и юзают для этого базу данных. -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
|||
|
||||
![]()
|
| Правила форума "Perl" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |