Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> fileputcontents vs fopen - fwrite
Apo
post
Post #1





Grupa: Zarejestrowani
Postów: 426
Pomógł: 1
Dołączył: 2.10.2005

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


Witam

Mam pytanie odnośnie zapisywania danych do pliku, mam wykonana biblioteke cachujaca zapytania z bazy danych do pliku.
Użyłem w niej funkcji file_put_contents do zapisu danych do pliku. Problem pojawia się gdy 1 plik cache chce
stworzyć kilkudziesięciu użytkowników (bardzo duży ruch na stronie), wtedy strona strasznie spowalnia do czasu aż cache w końcu zostanie utworzony.

Czy funkcja file_put_contents używa blokowania plików do zapisu jak f_lock(LOCK_EX)?
Jeśli nie to czy przechodząc na standardowe funkcje fopen, fwrite,flock problem zostanie rozwiązany?


Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
guitarnet.pl
post
Post #2





Grupa: Zarejestrowani
Postów: 74
Pomógł: 4
Dołączył: 7.03.2008

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


flock() powinno zalatwic sprawe
po prostu zanim wykonasz akcje cache sprawdz czy plik nie ma aktywnego lock, jesli ma to znaczy ze cache sie juz odswieza i wyswietlaj strone bez cache lub ze starego pliku cache jesli czytanie z pliku bedzie mozliwe, potestuj

w manualu php masz przyklad dokladnie taki o jaki pytasz, mialem podobny problem i to bardzo pomoglo, dodatkowo mozesz pomyslec nad zmiana sposobu cachowania, zamiast cachowania wynikow sql mozna cachowac caly buffor (ob_start) dla niezalogowanych uzytkownikow poniewaz dla nich strona bedzie wygladac identycznie, natomiast dla zalogowanych mozesz cachowac tylko wybrane elementy strony czy to przez wyniki sql czy tez przez cachowanie widokow

sposob cachowania zawsze nalezy dobrac do struktury strony, nie ma zlotego srodka
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 6.10.2025 - 19:33