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 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 74 Pomógł: 4 Dołączył: 7.03.2008 Ostrzeżenie: (0%)
|
manual mowi ze wynik is_writable funkcji moze byc cachowany co daje koniecznosc uzycia clearstatcache()
flock nie jest cachowalny, pytanie ile tych odwolan jest na sec/ms/us i jak zachowuje sie cache i czy "reczna" kontrolowana blokada na pliku nie jest lepszym rozwiazaniem gwarantujacym ze 1 odwolanie do zapisu pliku zakonczy sie 100% powodzeniem majac LOCK_EX a reszta korzysta z wersji "live" w komentarzach manuala ktos zaproponowal rozwiazanie tworzenia pliku tymczasowego dla reszty odwolan podczas gdy blokowany plik jest zapisywany/odswiezany nie wykonywalem testow szybkosci i wydajnosci pomiedzy tymi rozwiazaniami, warto by sprawdzic operation is one of the following:
|
|
|
|
Apo fileputcontents vs fopen - fwrite 10.04.2009, 12:23:07
mike Cytat(Apo @ 10.04.2009, 13:23:07 ) Cz... 10.04.2009, 12:27:24
guitarnet.pl flock() powinno zalatwic sprawe
po prostu zanim wy... 10.04.2009, 17:42:42
erix Cytatpo prostu zanim wykonasz akcje cache sprawdz ... 10.04.2009, 23:38:26 ![]() ![]() |
|
Aktualny czas: 27.12.2025 - 00:57 |