inwob
23.06.2010, 21:18:16
Witam!
Pracuje nad skryptem który pobiera zawartość danej strony i liczy ilość jej znaków.
Problem jest w tym że strona nie może być odświeżana częściej niż raz na 10 sekund (ta z której pobieram znaki).
Gdy na moją stronę wejdzie np, 10 użytkowników to tamta strona zostanie 10 razy odświeżona i dostanie bana.
Jak zrobić żeby strona raz co 10 sekund pobierała pewną zawartość i wyświetlała go danym użytkownikom bez ponownego wchodzenia na stronę do pobrania.
Pozdrawiam!
ulow
23.06.2010, 21:19:10
cron, zapisanie tresci do bazy
inwob
23.06.2010, 21:19:40
nie mam takich możliwości, tylko php ew. html i javascript
ulow
23.06.2010, 21:23:56
no to nie masz mozliwosci wykonania tego. przesiądź się na lepszy hosting
inwob
23.06.2010, 21:29:14
musi być jakaś inna możliwość
pedro84
23.06.2010, 21:33:00
Cytat(inwob @ 23.06.2010, 22:29:14 )

musi być jakaś inna możliwość
Cache?
inwob
23.06.2010, 21:44:04
mysql wchodziłoby w grę?
Stronę odświeży kilkanaście osób w czasie 1 sekundy więc nie wiem czy wszystko zadziała.
if (warunek) {
// znajdz czy jest rekord w mysql
// jak nie ma {
// Pobierz strone
// dodaj zapytanie do mysql
// wyswietl strone
} else {
// wyświetl rekord
}
dałoby rade takie coś?
thek
23.06.2010, 21:54:59
Wykorzystaj system cache'ujący lub zrób sobie sam prymitywny.Jak? Choćby prosty plik, który przechowywałby adres strony, datę ostatniego sprawdzenia i ilość znaków. Dlaczego tak? Rozpatrzmy kilka przypadków:
1. Strony nie ma w naszym cache'u - pobierz stronę, policz znaki, wpisz adres, dokładny czas i liczbę znaków.
2. Strona jest w cache, ale czas jest odległy (ponad 10 sekund) - pobrać stronę, policzyć znaki, uaktualnić czas i ewentualnie liczbę znaków
3. Strona jest w cache, ale mniej niż 10 sekund - pobierz liczbę znaków tylko i nic nie rób z danymi.
Problemem z jakim się jednak spotkasz to jednoczesne odwołania do cache. Musisz zadbać o blokowanie jeśli dwie osoby w tym samym czasie chcą pobrać dane o tej samej stronie. Druga musi czekać na zakończenie się operacji liczenia pierwszej i tylko jej wynik już pobierze (oczywiście dla wariantu 1 i 2 to tylko się liczy).
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.