![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 165 Pomógł: 20 Dołączył: 2.03.2006 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Dałem temat do przedszkola, ale w sumie sam nie wiem gdzie powinien być. Mam pytanie spotkałem się z stroną która trzyma praktycznie wszystko w sesji (wszelka konfiguracje, tłumaczenia stron, informacje o produktach, w sumie większość treści strony) strona ta ładuje się 10 sekund (IMG:style_emoticons/default/sad.gif) I mam pytanie CO i DLACZEGO powinno być w sesji a co nie? Jakie elementy? czy ładować każdą rzecz co się da do sesji ? Oraz czy zbyt duża wielkość sesji wpływa na szybkość ładowania się strony www? Może i to głupie pytania ale, wole się spytać specjalistów, sam w sesji trzymam tylko kilka danych, takich jak informacje o loginie, i mała konfigurację. Pozdrawia serdecznie i proszę o pomoc. Jeżeli temat jest w złym miejscu proszę o przeniesienie. Ten post edytował szok 24.09.2009, 19:25:35 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
W sesji przechowujesz tylko to co w niej musi być (czyli dane potrzebne pomiędzy dwoma żądaniami) oraz to co się opłaca (czyli zapis/odczyt tego z sesji jest wymiernie szybszy niż każdorazowe dopieranie się ze źródła pierwotnego - no i oczywiście jest to wymagane na każdej/większości podstron - np. uprawnienia użytkownika)
Ilość danych w sesji w teorii wpływa na szybkość ładowania strony (w końcu trzeba ją odczytać), ale póki nie jest to jakiś wybryk natury, gdzie dane zapisane w sesji liczymy w MB to raczej nie jest to warte uwagi (pod względem szukania wydajności). |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 568 Pomógł: 192 Dołączył: 7.03.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
No tak w sesji możemy trzymać całą treść strony, ale po co? Chyba naprawdę trzeba mieć problemy z zapytaniami do db.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 165 Pomógł: 20 Dołączył: 2.03.2006 Ostrzeżenie: (0%) ![]() ![]() |
Czyli można i tak i tak, ale pewnie lepiej nie ładować tych dnaych aż tyle do sesji.
Lepiej wyjdzie cashowanie zapytań SQL, niż trzymanie tych danych w bazie : ) Dobrze rozumiem? A i jeszcze jedno małe pytanko, strona jest napisana w CakePHP, korzysta z dwóch baz dnaych mysql do tresci i postgresql do katalogu prdouktów i informacji o uzytkonwnikach, plus wszelkie tłumaczenia są w plikach tekstowych które maja sporo MB (4 języki) i dopiero później jest robiona tablica z tłumaczeniami na podstawie zwykłych wpisów w pliku tekstowym. Plus strona wszelkie najważniejsze moduły strony (jak nie wszystkie: strona główna, katalog produktów, wszelkie dane które są wyświetlane na stronie) są napisane jako plugin w cakephp a nie jako zwykłe kontrolery/modele i widoki. To ma jakieś znaczące znaczenie jeśli chodzi o szybkość działania tej aplikacji? Pozdrawiam i dziękuje za odpowiedzi. Przepraszam za mały offtopic. Ten post edytował szok 24.09.2009, 21:37:24 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
W sesji trzymasz dane "krótkie" czyli info o zalogowanym użytkowniku, id, login, czas logowania, useragent, język. I to w zasadzie powinno być wszytko. Poza tym trzymanie tłumaczeń w plikach które mają kilka MB to jakieś nieporozumienie.
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 165 Pomógł: 20 Dołączył: 2.03.2006 Ostrzeżenie: (0%) ![]() ![]() |
A jak z szybkością:
zwykły kontroler Czy plugin w cakephp ? Czy takie rzeczy właśnie jak strona www i jej moduły nie powinny być pisane jako zwykły kontroler? Czy jako plugin może być? Pozdrawiam |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 23:02 |