Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wydajność - Dużo folderów, dużo zdjęć., Wyświetlanie zdjęć z danego katalogu, a nie po adresach z DB.
adbacz
post
Post #1





Grupa: Zarejestrowani
Postów: 532
Pomógł: 24
Dołączył: 15.04.2011
Skąd: Kalisz

Ostrzeżenie: (0%)
-----


Witam i z góry przepraszam za tytuł tematu, ale nie wiedziałem jak to opisać.

Piszę pewien katalog i akurat jestem na poziomie pisania systemu uploadu i downloadu plików. Wpadłem na pewien pomysł. Mianowicie, zamiast zmuszać użytkownika do wpisywania pełnych adresów do zdjęć danego produktu i zapisywać to w DB, zrobić w folderze głównym folder o nazwie takiej samej jak ID danego produktu, i podczas wyświetlania tego produktu, sprawdzać, czy istnieje taki katalog i w nim zdjęcia, i stamtąd pobierać nazwy i wyświetlać zdjęcia.

Np. mamy kategorię ProductOne i dla tej kategorii tworzymy główny katalog o tej samej nazwie w katalogu upload. Podczas gdy będzie dodawany nowy produkt do tego katalogu i zdjęcia do niego, zostanie utworzony nowy katalog o nazwe ID produktu, np. upload/productone/155, i w tym katalogu zamieszczać wszystkie zdjęcia. A gdy ktoś będzie odwiedzał naszą stronę, będziemy sprawdzać czy katalog o ID produktu istnieje i będziemy pobierać wszystkie obrazki jakie tam są, i wyświetlać je.

Wg mnie, dość dobry patent na to, aby w jakimś stopniu zapobiec zapełnianiu sie przestrzeni dyskowej niepotrzebnymi plikami, które nie będą wykorzystywane. Ale teraz pytanie, czy to nie będzie zbyt obciążające dla serwera? Żeby za każdym razem sprawdzać czy katalog istnieje, przebierać po wszystkich plikach w tym katalogu, pobierać ich nazwy i dopiero wyświetlać?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
thek
post
Post #2





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Cudny: Po pierwsze, jeśli uważasz, że drzewiastej struktury nie można wrzucić do bazy i odpytywać inaczej niż rekurencyjnie to się z deczka mylisz. Co zabawniejsze... mogę ją pobrać jednym zapytaniem (IMG:style_emoticons/default/smile.gif) Jedyne utrudnienia są przy edycji (dodawanie, edycja. usuwanie) węzłów i na to trzeba kilku zapytań, ale ile razy to robisz? Zazwyczaj te operacje są tylko sporadycznie po postawieniu serwisu. Właśnie kilka dni temu to robiłem w oparciu o bazę danych. W zasadzie w chwili obecnej całą strukturę kategorii wrzucam do bazy i zapisuję w cache'u, a w razie edycji ten cache aktualizuję. Baza więc ma niemal zerowe obciążenie z tego powodu bo przez 99% czasu używam cache'u. Właściwie to dostosowałem do własnych celów jsTree, którego kod odwalił za mnie 90% roboty.
Po drugie to jeśli się bawisz już plikami xml, to chyba zdajesz sobie sprawę, jak upierdliwe jest edytowanie czy modyfikacja struktury zazwyczaj. Ja już nawet nie mówię o poszukiwaniu elementu o nieznanej do końca ścieżce. XPath to świetna rzecz, ale w porównaniu do SQL i tak wypada blado. Cokolwiek ciutkę bardziej złożonego i jest problem. Już nawet nie mówię, że poprzez pliki XML można serwer wywalić. Poczytaj o ataku "one million laught" czy preparowaniu xml o złośliwej strukturze. To są rzeczy o których się niewiele mówi, ale są równie zabójcze dla serwisów jak sql-injection.
Go to the top of the page
+Quote Post

Posty w temacie
- adbacz   Wydajność - Dużo folderów, dużo zdjęć.   5.12.2011, 14:19:52
- - skowron-line   Cytat(adbacz @ 5.12.2011, 14:19:52 ) ...   5.12.2011, 14:52:10
- - by_ikar   Nie wiem szczerze mówiąc co tutaj ma ci obciążać, ...   5.12.2011, 14:57:53
- - adbacz   Jesli w bazie mamy tylko ścieżki do plików to spra...   5.12.2011, 15:21:52
- - by_ikar   CytatPS. Może źle zrozumiałeś by_ikar, ale nie cho...   5.12.2011, 17:50:44
- - adbacz   No w sumie masz rację z tymi kategoriami. Niestety...   5.12.2011, 21:02:06
|- - by_ikar   Cytat(adbacz @ 5.12.2011, 21:02:06 ) ...   6.12.2011, 11:26:10
- - cudny   ja ostatnio wpadłem na genialny pomysł. Wiele rzec...   6.12.2011, 10:41:39
- - cudny   Cytat(by_ikar @ 6.12.2011, 11:26:10 )...   6.12.2011, 11:38:59
|- - by_ikar   Cytat(cudny @ 6.12.2011, 11:38:59 ) N...   6.12.2011, 12:31:08
- - adbacz   Ogólnie rzecz biorąc to nie widzę sensu zaprzegać ...   6.12.2011, 12:57:01
- - by_ikar   W przypadku kategorii, użyjesz wówczas 40 razy fil...   6.12.2011, 13:43:24
- - cudny   Cytat(by_ikar @ 6.12.2011, 12:31:08 )...   6.12.2011, 14:47:47
- - by_ikar   CytatCo do trzymania danych w bazie, a w xml to po...   6.12.2011, 15:13:02
- - cudny   Nie pisze tu o otwieraniu 40 plików tylko trzymani...   6.12.2011, 15:28:21
- - by_ikar   CytatNie pisze tu o otwieraniu 40 plików tylko trz...   6.12.2011, 16:04:57
- - cudny   ehh... nie mogę się niestety zgodzić, że za przepr...   6.12.2011, 16:22:29
- - by_ikar   CytatGalerię tworzę sobie zawsze na xml, bo po co ...   6.12.2011, 17:17:02
- - thek   Cudny: Po pierwsze, jeśli uważasz, że drzewiastej ...   6.12.2011, 21:53:48
- - Niktoś   CytatJuż nawet nie mówię, że poprzez pliki XML moż...   6.12.2011, 22:10:29
- - adbacz   Wy mówicie o kategoriach tak? O tym, że żeby pobra...   6.12.2011, 22:13:19
- - by_ikar   CytatWy mówicie o kategoriach tak? O tym, że żeby ...   6.12.2011, 22:48:29
|- - abort   Cytat(by_ikar @ 6.12.2011, 22:48:29 )...   6.12.2011, 23:16:19
- - adbacz   Uwież mi by_ikar, że to z katalogami kategorii pro...   6.12.2011, 23:49:22
- - by_ikar   CytatUwież mi by_ikar, że to z katalogami kategori...   7.12.2011, 00:09:48
- - adbacz   CytatA ja w sumie rozwiązałbym to inaczej. Coś pod...   7.12.2011, 01:43:18


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 17.10.2025 - 05:51