Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 132 Pomógł: 4 Dołączył: 22.10.2010 Ostrzeżenie: (0%)
|
Posiadam na praktycznie wszystkich podstronach sporego portalu, który tworzę od pół roku taki oto skrypt:
Powyższy skrypt zapisuje na jakiej podstronie znajduje się user oraz ustawia kolumnę z czasem sesji na 5 minut. Mam też plik, który wykonuje cron co 5min w takiej postaci: Ma on za zadanie wyeliminowanie nie aktywnych użytkowników, którzy byli zalogowani. Odnośnie skryptu crona nie mam zastrzeżeń. Natomiast skrypt, który ustawia 5min "życia" sesji przy zaledwie 3rekordach w bazie o unikalnym ID każdy, wydłuża czas generowania strony aż, o 0.04000 sekundy! na pierwszy rzut oka to malutko, ale przewidywuje w tabeli `online` trzymać około 10k rekordów, więc czas ten mocno się wydłuży... Mam założone indexy na kolumny, ale problem chyba leży w logice mojego skryptu wywalającego sesje, aby nadać danemu userowi status "offline", gdy ten nie korzysta z portalu przez 5min. Jeśli ktoś ma inną idee, szybszą to będę wdzięczny za wskazówki... Ten post edytował fr33d0m 2.07.2012, 18:24:51 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 132 Pomógł: 4 Dołączył: 22.10.2010 Ostrzeżenie: (0%)
|
To głupie, ale specjalnie dla Ciebie zmieniłem kolumnę o nazwie `gdzie` na char'a, aby przetestować Twoje wątpliwe rozwiązanie. Efekt taki sam.
`last_seen` u Ciebie to STRING - ja miałem INT'a w kolumnie `gdzie`, później, po stronie PHP obrabiałem sobie numerki pod konkretne nazwy typu 'Strona Główna' itp. To jest logiczne, bardziej niż Twoje słabe wywyższanie się od pierwszej wypowiedzi. (IMG:style_emoticons/default/wink.gif) EDIT: wszystkie pola mam w INT'cie - widać to w pierwszym poście z opisem problemu. Ten post edytował fr33d0m 2.07.2012, 19:53:42 |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 821 Pomógł: 111 Dołączył: 11.09.2006 Skąd: Biała Podlaska Ostrzeżenie: (0%)
|
Poparz kolego:
I jestem pewien, że rozwiązanie takie będzie o wiele wydajniejsze. |
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 132 Pomógł: 4 Dołączył: 22.10.2010 Ostrzeżenie: (0%)
|
Tak, zgadzam się. Tylko, że UPDATE Twój czy mój, wykonuje się tak samo mozolnie... i w tym tkwi mój problem.
Edit: W zasadzie 1/2 problemu rozwiązana - zastąpię crona, czasem dodatnim w DB i będę sprawdzał. 2/2 problemu są jak widać moim widzi-misie nie realnym do skorygowania. PKT. dla Ciebie za pomoc. Poza tematem, dobrze będzie wykorzystać crona, aby odjąć ważność ogłoszenia? Zapisuje ważność ogłoszenie w postaci liczby i raz dziennie, chwilę przed północą odejmuję poprzez crona od ważności -1 Tu cron się nadaje? Ten post edytował fr33d0m 2.07.2012, 21:14:05 |
|
|
|
fr33d0m [SQL][PHP]Update online - konstrukcja 2.07.2012, 18:23:29
Rysh Twoje rozwiązanie jest do bani. Więc nie dziw się,... 2.07.2012, 18:31:01
fr33d0m Tak, a Twój post to czysty i perfidny spam. Gdyby ... 2.07.2012, 18:34:55
Rysh To nawet nie jest dobre rozwiązanie, wręcz powiedz... 2.07.2012, 18:40:57
fr33d0m to powiedz mi jak wywalić zapisaną sesje w bazie (... 2.07.2012, 18:48:12
Rysh Jak to się nie da? A w czym problem zapisać w bazi... 2.07.2012, 18:53:13
fr33d0m No tak... ale to załatwi tylko 1/2 problemu. Chcę ... 2.07.2012, 18:57:29
Rysh Update i tak będziesz musiał robić, ponieważ będzi... 2.07.2012, 19:02:35
fr33d0m hm... czy aby przypadkiem nie wychodzi na to samo?... 2.07.2012, 19:09:05 
Rysh Cytat(fr33d0m @ 2.07.2012, 20:09:05 )... 2.07.2012, 19:40:12
klocu Ja mimo wszystko popieram rozwiązanie Rysh'a.
... 2.07.2012, 20:08:11
fr33d0m Panowie, nie kumam was. Rozwiązanie Rysh'a jes... 2.07.2012, 20:19:15
peter13135 Może problem załatwi założenie indeksów na pola kt... 2.07.2012, 21:22:34
Rysh Widzę że na siłę chcesz używać CRON'a. Niepotr... 2.07.2012, 21:24:18
fr33d0m @peter12125, też myślałem, aby używać crona wyłącz... 2.07.2012, 21:47:40
PtasiorZz Ja osobiście zrobiłbym to tak:
- Nie zapisywałbym... 3.07.2012, 05:49:17
fr33d0m Hmm... Zdecydowanie bardziej ufam ustawieniu czasu... 3.07.2012, 19:21:05
PtasiorZz Odświeżenie sesji a zapisanie ostatniej aktywności... 3.07.2012, 22:39:14 ![]() ![]() |
|
Aktualny czas: 23.12.2025 - 00:04 |