![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 6.07.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
ostatnio zacząłem trochę pisać w PHP i nurtuje mnie pewna kwestia. Czy jest sposób na umieszczenie czegoś w pamięci i odczytywanie tego potem dla wszystkich osób przeglądających nasze strony, zamiast odczytywać to za każdym razem z pliku lub bazy danych? Konkretniej rzecz biorąc, załóżmy, że mamy serwis/grę przeglądarkową/sklep internetowy czy cokolwiek co odwiedzane jest przez dużą liczbę osób. Dajmy na to, że mamy plik XML w którym trzymamy trochę danych które wyświetlamy klientom przy pomocy JavaScriptu. Ale niektóre z tych danych potrzebne nam są gdy odnosimy się do bazy danych, a nie chcemy ich powielać i wstawiać również w bazie, bo ręczna zmiana w jednym wymuszałaby zmianę w drugim. Tak więc piszemy sobie parser XMLa w PHP i za każdym wyświetleniem strony odczytujemy dane z pliku. Wszystko fajnie, ale czy nie stałoby się to problematyczne w przypadku, dajmy na to 6000 zalogowanych użytkowników którzy klikają zakładaczki na naszych stronach? Dane wyświetlane przez JS to nie problem, bo zajmuje się tym przeglądarka każdego klienta, ale PHP obsługuje nasz serwer, więc 6000 odczytów co sekundę chyba by trochę go zmuliło. Wydaje mi się, że szybciej byłoby gdyby dane załadować do pamięci i z niej odczytywać, tylko czy jest to możliwe? (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Ps. I przy okazji, czy jest jakiś parser PHP który pozwala odczytywać dokumenty XML w sposób zbliżony do tego w JS? Czy też trzeba go sobie samemu naskrobać? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 206 Pomógł: 18 Dołączył: 6.03.2006 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
ten "sposob z JS" to po prostu DOM - Document Object Model i to standardowy sposob przetwarzania dokumentow XML chyba w niemal kazdym jezyku/srodowisku:
http://www.php.net/dom co do problemu z przechowywaniem zmiennych w pamieci - jako-takie tozwiazanie bezposrenio nie istnieje. ale jest wiele posrednich. po pierwsze wczytane dane z XMLa mozesz przechowywac w formie juz wczytanej na przyklad przez serizalize()/unserialize(). inna mozliwoscia jest uzycie cachowania na przyklad: http://www.php.net/manual/en/book.apc.php |
|
|
![]() ![]() |
![]() |
Aktualny czas: 2.10.2025 - 22:43 |