Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Co cache'ować?
Forum PHP.pl > Forum > PHP
sweter
Witam,
nie mam doświadczenia w cechowaniu stron, a że na Googlach nic ciekawego nie znalazłem, chciałem zapytać się Was:
Co i kiedy najlepiej cechować?
- wyniki bazy danych
- przetworzone wyniki (czyli to co będzie wysyłane do warstwy widoku)
- gotowy plik html.

Według mnie najlepiej jest cechować gotowy pliki html, jednak gdy np. dodamy nowy komentarz na stronie, to plik musi być generowany od nowa. I wtedy najlepiej jest cechować wyniki poszczególnych tabel z DB (jeżeli mam np. tabele na komentarze i artykuły).

Jak Wy sobie z tym radzicie?

Pozdrawiam smile.gif
Fifi209
Co to znaczy: cechować stronę ?

Wybacz ale nie spotkałem się z takim pojęciem.
menTis
Przyspieszenie działania strony (?).

Widzę, że mój poprzednik zna LUA, dobrą do tworzenia w Multi Theft Auto smile.gif.
Daiquiri
Masz na myśli cache'owanie? smile.gif
flashdev
Cytat(fifi209 @ 26.10.2010, 20:30:59 ) *
Co to znaczy: cechować stronę ?

Wybacz ale nie spotkałem się z takim pojęciem.


Jak to co?
Cechować stronę = nadawać stronie cechy, pozytywne jak również negatywne smile.gif
Fifi209
Cytat(flashdev @ 26.10.2010, 20:34:53 ) *
Cechować stronę = nadawać stronie cechy, pozytywne jak również negatywne smile.gif

np.

Menu - pozytywne, ładnie zrobione, czytelne
Logo - negatywne, zbyt duże, kolory przytłaczające

Dobrze rozumiem? biggrin.gif
sweter
Cytat
Masz na myśli cache'owanie? smile.gif

Tak myślę o cache'owaniu biggrin.gif
Fifi209
My to doskonale wiemy smile.gif Pożartowaliśmy, dział hydepark - nikt nie zarzuci nabijania postów.

Odpowiadając na Twoje pytanie: najpierw zastanów się jak duże obciążenie będzie dla serwera, bo może wcale nie warto cache'ować a wystarczy zwykły akcelerator?

Możesz cache'ować gotowe strony - to co pójdzie do użytkownika, tyczy to np. newsów, komentarzy, jakiś danych bardziej statycznych ogólnie
Zapytania - a może prościej użyć wbudowanych mechanizmów danej bazy danych?
Mephistofeles
Cechuje się np. odważniki czy biżuterię tongue.gif.
Fifi209
Biżuterii raczej dotyczy próba złota/srebra ;p
nasty
Zależy gdzie i jak te cache będziesz trzymać, bo możesz przekombinować i tylko się wysilić na marne bez żadnego prawdziwego zysku wydajnosci.
Mephistofeles
Cecha probiercza

Jeśli strona zawiera głównie informacje statyczne, zmieniane co jakiś czas, ja bym cache'ował całość, po co przetwarzać. Ale tak jak mówią poprzednicy nie zawsze się opłaca, lepiej sprawdzić czy to naprawdę coś daje.
polinfor
Najlepiej cache'ować treści statyczne. Większe serwisy stosują nawet taki fajny myk jak serwer na dane statyczne - np obrazki.
bmL
Najlepiej chyba będzie cache'ować poszczególne kawałki strony - wygenerowane pliki template (pure (x)HTML). Taki plik może mieć ważność od 1h do xx w zależności od tego jak często treść danej podstrony się zmienia. Po tym czasie nadpisywany jest przez nowy. Możesz też dodać inteligentniejsze cache. Na przykładzie komentarzy do newsów. Użytkownik wchodzi na stronę z komentarzami i w tym momencie tworzony jest plik cache. Następnie przy każdym kolejnym wejściu strona wyświetlana jest z tego pliku. Ale kiedy doda nowy komentarz plik cache powinien zostać usunięty podczas jego dodawania i przy kolejnym wyświetleniu komentarze zostanie wygenerowany nowy plik cache.

Wyniki bazowe tak na prawdę nie wydaje mi się żeby było je warto cachować. Bo gdzie chcesz je zapisać? Do pliku? Potem będziesz musiał taki wynik przetworzyć z powrotem na tablicę, czyli zrobić to samo co robiłeś przy pobieraniu ich z bazy danych (zauważ że bazy danych to nic innego jak pliki tekstowe/binarne połączone z interfejsem do ich obsługi).

Przetworzone wyniki - tak czasem warto ale jeżeli możesz cache'ować cały plik template to będzie to lepsze rozwiązanie.
Mephistofeles
Jeśli używasz Apacha można też postawić obok niego np. nginxa, do serwowania statycznej treści (jest wydajniejszy).
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.