![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 3.08.2012 Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Sprawa wyglada tak, że chcę zrobić stronę z edytowanymi przez użytkowników wpisami dodawanymi do bazy danych, możliwymi do odczytania na stronach, na których znajduje się kilka wpisów wybranych według jakiegoś klucza , ale mam kilka wątpliwości co do sposobu w jaki mam to wykonać. Pytanie jest takie: czy lepiej jest robić podstrony .php, które pobierają treść na bieżąco z bazy danych (tutaj pytanie o wydajność przy wielu odsłonach), czy może przy dodaniu pierwszego wpisu robić statyczną stronę z rozszerzeniem .html i po prostu po każdej edycji nadpisywać ten plik za pomocą php (nowy plik będzie zawierał nowy wpis)? Drugie rozwiązanie wydaje mi się szybsze, ze względu na to, że php będzie używany tylko przy zapisywaniu, nie zaś przy odczytywaniu (użytkownik będzie pobierał już gotowy do wyświetlenia plik html), ale czy będzie to profesjonalne; czy tak się robi? Dopiero się uczę tworzenia stron i zależy mi na wyrobieniu dobrych nawyków noi chcę się dowiedzieć jak wy stworzylibyście taką stronę i czy warto tak kombinować by zyskać na wydajności (o ile w ogóle). Proszę o w miarę szybką odpowiedź ![]() |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 729 Pomógł: 346 Dołączył: 4.04.2009 Ostrzeżenie: (0%) ![]() ![]() |
Polecam raczej pierwszą opcje z użyciem np. varnisha, polecam użyć jakiegoś frameworka np. symfony 2 w którym cacheowanie stron masz bardzo sensownie przemyślane
-------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 94 Pomógł: 9 Dołączył: 12.04.2009 Ostrzeżenie: (20%) ![]() ![]() |
Możesz cachować zapytanie sql np przez memcached, jeśli nie masz pojęcia o symfonach
![]() Bardzo wygodne i optymalne ![]() |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 3.08.2012 Ostrzeżenie: (0%) ![]() ![]() |
Okej, dzięki za odpowiedzi :]
Czyli proponujecie rozwiązanie pierwsze "po tuningu" przez cache'owanie, a czy możecie mi z ciekawości powiedzieć czy drugie rozwiązanie podane przeze mnie sie w ogole stosuje? Czy jest np niebezpieczne, trudne do edycji albo po prostu za duzo przy nim roboty? ![]() A i jeszcze jedno, rozumiem że jeżeli będzie kilka wpisów na stronie + jakiś nowy i te starsze będa wcześniej wrzucone w cache, to po prostu pobierze je szybko, a ten dodatkowy pobierze łącząc się z bazą danych? Dobrze myślę? |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 1 729 Pomógł: 346 Dołączył: 4.04.2009 Ostrzeżenie: (0%) ![]() ![]() |
2 jest na pewno bardziej problematyczne przy edycji, a przy większej ilości stron również przy przechowywaniu. Ba w sytuacji gdy np. zmieniasz wygląd na stronie musisz pokasować wszystkie stare pliki i na nowo generować ogólnie to jest bardzo duże utrudnienie i zysk (właściwie żaden jeżeli używasz cacheowania) wydajności jest w praktyce niezauważalny.
Z cachem(mowa o memcache varnishe nieco ciężej wytłumaczyć( jest tak ustawiasz mu czas życia dajmy na to 10 minut i ustawiasz pod jakimś kluczem daną stronę, masz jakiś skrypt (z tego co się orientuje to można po stronie serwera ograć) który sprawdza czy w cache jest dany klucz jeżeli tak to zwracamy całą zawartość, jeżeli nie ma go w cache to generujemy stronę w locie, zapisujemy do cache i zwracamy wynik. Podczas edycji możemy po jej zakończeniu usunąć klucz z cache-a i następne żądanie do serwera ponownie wygeneruje stronę. Ten post edytował lobopol 25.08.2012, 20:13:10 -------------------- |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 3.08.2012 Ostrzeżenie: (0%) ![]() ![]() |
Dobra, już wszystko wiem, dzięki wielkie! Poleciało "pomógł" : D
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 20.07.2025 - 13:01 |