Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: optymalizacja algorytmow (php/mysql)
Forum PHP.pl > Forum > PHP
andycole
Witam, mam na poczatek 2 problemy

1. Mam do napisania serwis, na ktorego kazdej podstronie bede wyswietlan link do skrzynki odbiorczej i ilosc nowych odpowiedzi (podobnie jak na NK). Dodanie kolejnego zapytania przy kazdsej odslonie mija sie z celem. Myslalem o wykorzystaniu plikow. Jezeli jest plik o nazwie "id_usera" to odczytaj go (w srodku jest ilosc nowych wiadomosci), jezeli nie ma to nowych wiadomosci = 0. Przy wyslaniu wiadomosci oczywiscie nastepuje edycja/utworzenie pliku.

2. Chce zrobic sonde w ktorej glosowac moga ludzie nie czesciej niz x minut. Czy jedynym i najbardziej optymalnym rozwiazaniem jest logowanie + zapis godziny ostatniego logowania w bazie? Jednak z uwagi ze x=10 minut biggrin.gif i ludzi moze byc sporo trzeba zastanowic sie nad rozwiazaniem sprawdzajacym czy te 10 minut minelo. Warto wiec sprawdzic najpierw czy istnieje cookies. Jezeli istnieje to od razu zablokowac mozliwosc glosowania, zeby niepotrzebnie nie robic to po stronie sql. Jezeli nie istnieje sprawdzic po stronie sql czy minelo juz te 10 minut.

Co Wy na to? Istnieja jakies inne/szybsze rozwiazania?
erix
Cytat
Myslalem o wykorzystaniu plikow. Jezeli jest plik o nazwie "id_usera" to odczytaj go (w srodku jest ilosc nowych wiadomosci), jezeli nie ma to nowych wiadomosci = 0. Przy wyslaniu wiadomosci oczywiscie nastepuje edycja/utworzenie pliku.

Pomyśl o tablicy typu MEMORY. smile.gif

Cytat
2. Chce zrobic sonde w ktorej glosowac moga ludzie nie czesciej niz x minut. Czy jedynym i najbardziej optymalnym rozwiazaniem jest logowanie + zapis godziny ostatniego logowania w bazie? Jednak z uwagi ze x=10 minut i ludzi moze byc sporo trzeba zastanowic sie nad rozwiazaniem sprawdzajacym czy te 10 minut minelo. Warto wiec sprawdzic najpierw czy istnieje cookies. Jezeli istnieje to od razu zablokowac mozliwosc glosowania, zeby niepotrzebnie nie robic to po stronie sql. Jezeli nie istnieje sprawdzic po stronie sql czy minelo juz te 10 minut.

Jeśli nie oparte o logowanie - ktoś Ci to ominie. tongue.gif
andycole
Cytat(erix @ 17.08.2009, 10:05:25 ) *
Pomyśl o tablicy typu MEMORY. smile.gif


a moglbys zarzucic jakims linkiem albo rozwinac mysl co rozumiesz pod tym pojeciem? Jak to zaimplementowac?
Wicepsik
google.pl -> memory mysql ;]

Co do drugiego punktu, może IP + sprawdzanie czy minęło 10 minut ? Chociaż nie jest to aż tak dobre rozwiązanie bo np. szkoły itp mają to samo ip tongue.gif
andycole
Dokladnie, szkoly i sieci maja wspolne IP. Mozna IP i Agenta, ale to tez nie jest pewne.

A ja szukalem tablic memory w php smile.gif

Ok juz mam, dzieki za wskazowke smile.gif
Fifi209
Oprzyj o logowanie inaczej w ogóle nie ma sensu ta sonda...
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.