![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 142 Pomógł: 9 Dołączył: 3.03.2011 Ostrzeżenie: (0%) ![]() ![]() |
Jak dużą objętościowo zmienną można przechować w sesji?
Chodzi mi o to, czy mogę zserializować obiekt i między stronami przepychać go via sesje? Obiekt może parę czy paręset kB mieć więc przyjmijmy, że będzie miał 1MB - da się toto bez problemu przechować w sesji? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 4 069 Pomógł: 497 Dołączył: 11.05.2007 Skąd: Warszawa ![]() |
Sesje przechowują dane w plikach.
Nie ma żadnych przeszkód w tym aby ktoś przechowywał zserializowane obiekty w sesjach. Oczywiście pytanie czy nie spowoduje to komplikacji w działaniu aplikacji, a kod nie zamieni się w spaghetti którego modyfikacja będzie trudna. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 107 Pomógł: 4 Dołączył: 11.08.2010 Skąd: Inowrocław Ostrzeżenie: (10%) ![]() ![]() |
Sesje przechowują dane w plikach. Nie ma żadnych przeszkód w tym aby ktoś przechowywał zserializowane obiekty w sesjach. Oczywiście pytanie czy nie spowoduje to komplikacji w działaniu aplikacji, a kod nie zamieni się w spaghetti którego modyfikacja będzie trudna. Absurd... Podejście dobre dla jednego góra kilkunastu użytkowników. Wyobraź sobie jak zmienna nie zostanie usunięta lub ktoś rozmyśli się po załadowaniu wszystkich danych i trzyma cały czas te dane w pamięci. Jak wejdzie 100 takich userów to może jeszcze i nie problem ale jak będzie ich z 1000 - 2000 to już masz 2gb pamięci w plecy... Do sesji nie wrzuca się żadnych dużych wartości. A jeżeli napisanie krótkiej funkcji obsługi pliku jest trudne dla Ciebie to lepiej nie zaczynaj pisać w PHP bo po co się męczyć... Takie operacje są nie ekonomiczne i nie profesjonalne. Napisanie do bazy zapytania wyciągającego odpowiedni plik lub dane z możliwością odwołania się nawet po roku do nich to jeden select który będzie uwarunkowany odpowiednimi parametrami określającymi go... A co do spaghetti... Hehe... Lepszego określenia nie widziałem (IMG:style_emoticons/default/smile.gif) Klasy , funkcje i coś takiego jak "spaghetti" nie występuje. Wystarczy pisać w miarę estetycznie. Obiekt można przecież serializować do pliku i w sesji umieścić tylko adres tego pliku np. Chociaż w Javie z tego co wiem to przetrzymuje się w sesji miliard rzeczy, które mogą zajmować nawet ponad 3 MB i nie ma z tym najmniejszego problemu. http://stackoverflow.com/questions/4649907...f-a-php-session I jak wyżej. Nie ma sensu przeładowywać sessji. Lepiej napisać głupi skrypt do pliku i cała zabawa... przecież w bazie możesz trzymać te pliki. Po co zaśmiecać sesje. Jeżeli to jakaś aplikacja z logowaniem - podpisujesz go do odpowiedniego usera lub dodatkowo do jakiegoś działu Jeżeli nie - to po prostu przypisz do jakiś odpowiednich dat , kategorii, działów. Przecież to nie jest żadna super trudna operacja... |
|
|
![]() ![]() |
![]() |
Aktualny czas: 8.10.2025 - 14:30 |