Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как бороться с метрвыми сессиями? 
:(
    Опции темы
frenkys
Дата 8.5.2006, 00:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 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]
PM MAIL WWW   Вверх
rcdimon
Дата 8.5.2006, 14:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 766
Регистрация: 12.7.2004
Где: Москва

Репутация: 1
Всего: 2



Я вообще не пользуюсь никакими модулями.. Я сессии вручную организовываю. Если чел нажал кнопку выход- сразу удаляй сессию.. А если нет- то тут по моему только если специально порасить.. У меня например для этого отдельная программа, которая запускается по CRON.... правда она не только сессии чистит... а выполняет массу другой необходимой работы 
PM MAIL ICQ   Вверх
frenkys
Дата 8.5.2006, 21:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 185
Регистрация: 18.6.2005

Репутация: 1
Всего: 1



а для многопользовательский и очень ресурсоемких проектов на перле что можешь посоветовать насчет сессий ?

может их вобще не делать и просто передавать?

 
--------------------
 niva[frenky]
PM MAIL WWW   Вверх
sharq
Дата 8.5.2006, 22:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Perl Liker
**


Профиль
Группа: Участник
Сообщений: 841
Регистрация: 13.12.2004
Где: Ростов-на-Дону

Репутация: 23
Всего: 28



frenkys, я тоже на эти грабли напарывался. И решил для себя, что нужно делать свои сессии, которую будут максимально управляемыми. Хотя для старта этот модуль отличный  smile 

 smile  


--------------------
[color=gray]There's More Than One Way To Do It[/color]
PM MAIL WWW ICQ Skype   Вверх
frenkys
Дата 8.5.2006, 22:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 185
Регистрация: 18.6.2005

Репутация: 1
Всего: 1



сенкс за дельный совет, вот токо вопросик: что быстрее для сессий мускул или файлы?   (в случае бошьших нагрузок) 
--------------------
 niva[frenky]
PM MAIL WWW   Вверх
rcdimon
Дата 8.5.2006, 22:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 766
Регистрация: 12.7.2004
Где: Москва

Репутация: 1
Всего: 2



В мускулом в любом случае на много удобнее работать. и хотя бы пожтому я поставил бы на него.
А скорость- поставь индексы нормально и тормозить скорее всего не будет 
PM MAIL ICQ   Вверх
korob2001
Дата 9.5.2006, 15:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2871
Регистрация: 29.12.2002

Репутация: 31
Всего: 61



Я сессии сейчас вообще храню не в БД, а в текстовом файле, вся информация в этом файле шифруется различными алгоритмами. Раньше тоже хранил всё в базе данных, но потом после нескольких тестов заметил, что скорость выполнения программы значительно выше  не смотря на то, что постоянно нужно дешифровать данные из файла.
В файле хранится вся необходимая информация о юзере, для всей продолжительности сессии. Такие вещи как пароль, номера кредиток, телефонные номера, адрес пользователя в файл не сохраняю, если они кому-то понадобятся никогда не поздно обратиться за ними к БД, но они, как правило, нужны очень редко.  

Это сообщение отредактировал(а) korob2001 - 9.5.2006, 15:50


--------------------
"Время проходит", - привыкли говорить вы по неверному пониманию. 
"Время стоит - проходите вы".
PM MAIL WWW ICQ MSN   Вверх
frenkys
Дата 9.5.2006, 16:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 185
Регистрация: 18.6.2005

Репутация: 1
Всего: 1



тоже вариант smile 

мнения разделились 50%  на 50%   :О)


ну а что быстрее обработать в минуту 1000 файлов или 1000 записей таблицы? 
--------------------
 niva[frenky]
PM MAIL WWW   Вверх
rcdimon
Дата 11.5.2006, 07:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 766
Регистрация: 12.7.2004
Где: Москва

Репутация: 1
Всего: 2



Да, если тебе надо хранить сессию от панели администратора, пока он там один гуляет, а на самом сайте нет закрытых разделов, то тут можно и с файлом сделать.. А если у тебя тысячи пользователей. У каждого есть свои личные панели, у каждого свои личные данные и каждому надо хранить сессии то тут файлы в пролете.

Я раньше вообще все делал через файлы smile И был доволен.. ну почти доволен. А теперь, когда научился с базой работать- точно знаю что никто меня  не заставит хоть один файл создать  smile  
PM MAIL ICQ   Вверх
frenkys
Дата 11.5.2006, 09:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 185
Регистрация: 18.6.2005

Репутация: 1
Всего: 1



:O)  ok сенкс , очень убедительно , буду  БД мучать 
--------------------
 niva[frenky]
PM MAIL WWW   Вверх
korob2001
Дата 17.5.2006, 14:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2871
Регистрация: 29.12.2002

Репутация: 31
Всего: 61



А зачем юзать 1000 файлов? Можно и один файла с 1000 записями юзать. Ещё раз повторю, в нём храним только ту инфорацию о пользователе, которая чаще всего используется, а вот базу можно юзать тогда, когда нужна информация которую ты не поместил в файл сессии либо в целях безопасности, либо просто из-за не частого её использования. Например вот так может выглядить простой файл сессии:
Код
ключь сессии1 => логин1|реальное имя|реальная фамилия|e-mail|пол|id в базе|время конца сессии
ключь сессии2 => логин2|реальное имя|реальная фамилия|e-mail|пол|id в базе|время конца сессии
ключь сессии3 => логин3|реальное имя|реальная фамилия|e-mail|пол|id в базе|время конца сессии

Это DBM файл, где ключь - это ключь сессии, а значение информация о пользователе, которая чаще всего используется. С DBM файлами Perl работает так же как и с хешами, а с последними он работает очень быстро.
В примере выше подразумевалось, что ты часто будешь обращаться к пользователю по его реальному имени, пол нужн для правильного склонения при обращении к пользователю, например при отправке письма или же просто приветствия или же при выдаче какого-либо сообщения. При каждом обращении пользователя обновляешь время жизни сессии.
Если тебе нужна такая информация как реальный адрес пользователя или же телефонные номера, номера кредиток и прочее, но используются они не часто, тогда получаешь ID клиента из DBM файла и обращаешься за ними к базе данных.

PS: ИМХО, базу нужно использовать только там, где это нужно. Меня больше всего убивает, когда пишут счётчик посещений и юзают для этого базу данных.  smile Ну да ладно, это только моё мнение, прислушаться к нему или проигнорировать, дело каждого.  smile  


--------------------
"Время проходит", - привыкли говорить вы по неверному пониманию. 
"Время стоит - проходите вы".
PM MAIL WWW ICQ MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0561 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.