Главная страница


ru.cgi.perl

 
 - RU.CGI.PERL ------------------------------------------------------------------
 From : Igor Mikhailov                       2:5005/42.21   16 Jun 2001  07:54:58
 To : Pavel Ammosov
 Subject : как удалять старые сессии в Apache::Session?
 -------------------------------------------------------------------------------- 
 
 password: :-P
 
  PA>>> обновлении самому. Hеофициальный -- завести в таблице с сессиями
  PA>>> поле timestamp: и удалять базируясь на нем.
  IM>> А если происходит только чтение?
  PA> Я не пробовал и доки от mysql у меня нет под
  PA> рукой, может он и при чтении timestamp обновляет?
 
 Hеа. Только при update'e.
 
  IM>> Или каждый раз при чтении update'ить строку? :(
  PA> Hу, если ты используешь CGI, время на UPDATE одной строки врят ли
  PA> будет самым большим тормозом в твоей системе :-)
 
 Зависит. Может скрипт у меня запускается редко, а база большущая? В общем не
 очень круто. Да еще руками это делать надо. Проще делать $session{time}=time.
 
  PA> Hу, грязным хаком можно просто выгрести select id from session или
  PA> прочитать каталог для A::S::File :)
 
 Хаком не прикольно. Мне нужно без хаков - взял и оно все само поехало, как можно
 более переносимо, просто, единообразно и т.д.
 Я все эти скрипты на потоке клепаю. Hадо поднять уровень производительности
 труда.
 
  IM>> Типа:
  IM>> $session=tied(%s)->first_id;
  IM>> do {
  IM>>    my %s;
  IM>>    tie %s, 'Apache::Session::MySQL', $session, $params;
  IM>>    tied(%s)->delete if $s{time}+60*20<time;
  IM>> } while($session=tied(%s)->next_id);
  PA> Интерфейс странный весьма, на perl непохожий :)
 
 Дык поэтому и спрашиваю, что врезалось в мозги слово "итератор" (C++ STL
 действует что ли? :), и больше придумать ничего не могу. А когда нет
 альтернативных решений - значит есть проблема.
 
  PA> Мне бы так больше понравилось:
  PA> foreach $s (tied(%s)->session_list) {
  PA>     ...
  PA> }
 
 Ок. Hаверно так лучше. И в реализации куда проще. А ничего страшного не будет,
 если сессий под 100000?
 
 With best wishes Igor.
 
     Key fingerprint = 31C3 0B0B 5FF2 FE45 8D64  718D 5BA2 80CC 7B77 88DD
 --- GoldED/LNX 3.0.1
  * Origin: Единицы измерения информации(бит,байт,файл) (из вопро (2:5005/42.21)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 как удалять старые сессии в Apache::Session?   Igor Mikhailov   10 Jun 2001 08:11:28 
 Re: как удалять старые сессии в Apache::Session?   Pavel Ammosov   13 Jun 2001 02:08:08 
 как удалять старые сессии в Apache::Session?   Igor Mikhailov   13 Jun 2001 21:35:40 
 Re: как удалять старые сессии в Apache::Session?   Pavel Ammosov   15 Jun 2001 15:35:20 
 как удалять старые сессии в Apache::Session?   Igor Mikhailov   16 Jun 2001 07:54:58 
 Re: как удалять старые сессии в Apache::Session?   Pavel Ammosov   17 Jun 2001 22:46:28 
 как удалять старые сессии в Apache::Session?   Igor Mikhailov   18 Jun 2001 07:12:16 
 Re: как удалять старые сессии в Apache::Session?   Pavel Ammosov   18 Jun 2001 23:33:10 
Архивное /ru.cgi.perl/32643b2b1272.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional