Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][PHP]Aktualizacja danych
Forum PHP.pl > Forum > Przedszkole
MeGusta
Witam,
Mam stronę na której jest stan surowców aktualizowany co sekundę, problem jest taki, że od strony clienta wysyłane są requesty, cron aktualizuje przez plik php wszystkim stan surowców i wysyła stan na stronę.
Rozwiązanie to jest strasznie beznadziejne, ponieważ obciąża strasznie bazę, bo jeśli będę miał 2 tys rekordów do aktualizacji to co?
Gra np. plemiona aktualizuje surowce (drewno rośnie 10 na sekundę), co sekundę na stronie jak i w bazie i daja radę, ale pewnie maja na to jakiś sposób.
Piszę ten temat, aby mi ktoś doradził jak zrobić taki stan surowców na stronie odswieżany co sekundę ale aby nie obciążało aż tak bazy.

Pozdrawiam.
Pyton_000
Po stronie serwera robisz dla każdego usera oddzielnie przy przechodzeniu pomiędzy stronami, i jako dodatek po stronie przeglądarki inkrementujesz licznik. Ot cała filozofia.
MeGusta
Okej, a żałóżmy, że zakładki strony ładuję przez jquery bez odświeżania strony, po stronie clienta mam licznik. Ktoś coś chce wybudować, wysyła się request do serwera a tu surowcy nie ma bo nie było przeładowania i nie zaktualizował się stan. W takim przypadku aktualizować przy załadowaniu zakładki przez js? czy jest na to jakaś lepsza metoda?

Chcę to zrobić jak najbardziej optymalnie.
Pyton_000
Przy wykonaniu requesta robisz najpierw rekalkulację surowców a potem dopiero sprawdzasz warunki i ew. rozpoczynasz budowę. Jak po przeliczeniu surowców nie ma wystarczającej ilości to zwracasz error, jak jest to success i tyle.
MeGusta
Rozumiem, tylko kurcze, mam na przykład 24 surowce na godzinę, a request zostanie wysłany przykładowo dwa razy w ciągu 10 minut, skad mam widzieć ile mam surowców przyznać?
Pyton_000
masz dane jaką masz produkcję per godzina. Przy surowcu masz datę ostatniej aktualizacji. Obliczasz różnicę czasową i przyznajesz ilość surowców + aktualizacja czasu.
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.