Krismen
1.01.2013, 20:29:18
Witam. Tworzę sklep internetowy i chciałbym porady.
A więc przy wejściu na stronę, zapytaniem do bazy pobieram wszystkie produkty do tablicy `produkty` i wyświetlam je na stronie. Oczywiście, jak w każdym sklepie są do wyboru różne kategorie, które użytkownicy mogą wybierać. Pytanie: czy lepiej jest kiedy użytkownik klika w daną kategorię to idzie do bazy kolejne zapytanie poprzez zmienną GET i wtedy wyświetlają się odpowiednie produkty czy skoro mam już je wszystkie raz pobrane do tablicy, lepiej przeszukiwać tablicę `produkty`? Wiem, że obydwa sposoby będą dział, jednak nie mam jeszcze zbyt dużego doświadczenia dlatego nie wiem, który sposób jest wydajniejszy i przy którym ze sposobów strona będzie szybciej chodzić.
lobopol
1.01.2013, 20:35:26
Najlepsza opcja to trzymaj w bazie i użyj odpowiedniego cacheowania. Trzymanie w tablicach będzie na dłuższą metę bardzo pracochłonne.
Krismen
1.01.2013, 20:58:28
Lobopol, dzięki za radę ale przyznaje że tym cacheowaniem zabiłeś mi ćwieka. Możesz coś więcej napisać na ten temat, czym to się je? To znaczy czym jest cachowanie to wiem ale jak się tego używa na bazach?
lobopol
1.01.2013, 21:30:17
Metod cacheowania jest mnóstwo, choćby używanie varnishy czy memcache. Przy małym ruchu cacheowanie można pominąć. Zasada przy memcache jest prosta sprawdzasz czy dany klucz istnieje w pamięci jeżeli tak pobierasz jego zawartość i wyświetlasz, jeżeli nie istnieje ciągniesz z bazy, zapisujesz do memcache, jeżeli aktualizujesz to albo kasujesz klucz, albo go uaktualniasz. varnishe służą do cachowania całych stron (https://www.varnish-cache.org/about).
lukesh
1.01.2013, 21:54:58
Jeśli to nie jest duży sklep, to ja pobralbym dane raz z bazy, a potem przetwarzał już w tablicy JavaScript.
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.