Zapisywanie pliku (np. xml) a wielu użytkowników |
Zapisywanie pliku (np. xml) a wielu użytkowników |
11.05.2020, 07:34:24
Post
#1
|
|
Grupa: Zarejestrowani Postów: 651 Pomógł: 3 Dołączył: 31.01.2011 Skąd: Warszawa Ostrzeżenie: (10%) |
Witam serdecznie,
dziś chciałem zapytać o blokady lub ograniczenia w zapisie pliku, który powiedzmy może być zapisywany w tym samym czasie przez wiele osób - klientów przeglądarek. Czy przed np. błędnym zapisem lub pominięciem jakiegoś zapisu można się jakoś ochronić biorąc pod uwagę jeden plik? Przyjmijmy, że mam taki wycinek, który zapisuje xml, ale żeby ten xml jeszcze "upiększyć" dodatkowo po zapisie robi pewną funkcję:
tylko pytanie co w momencie gdy np 100, 1000, 100000 userów w jednym czasie zainicjuje ten kod? Czy asXML (saveXML) kolejkuje wtedy jakoś? Czy lock i unlock również kolejkuje przy blokadzie dzilonej (SH) czy po prostyu w momencie kiedy plik jest w użyciu/zapisywany - to innego w tym samym czasie usera po prostu ominie..? @EDIT Dziękuję za zainteresowanie.... Ten post edytował shpaque 8.05.2020, 12:36:49 |
|
|
11.05.2020, 09:58:39
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 455 Pomógł: 6292 Dołączył: 27.12.2004 |
Pliki generalnie nie sluza do przechowywania danych, w ktorych kazdy pisze non stop. Po co wiec taki zabieg z twojej strony? Czemu poprostu nie baza danych?
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
11.05.2020, 17:04:00
Post
#3
|
|
Grupa: Zarejestrowani Postów: 44 Pomógł: 5 Dołączył: 20.05.2019 Ostrzeżenie: (0%) |
przy tym ustawieniu z dokumentacji wynika, że to zadziała jak "waitUntil", ale jak zakładasz, że ten proces może być wykonany więcej niż raz w jednej chwili to podejście jest złe. Nie wiadomo jak serwer zachowa się przy 1000, prawdopodobnie jak człowiek, który zje śliwki i popije kefirem.
Przetestować możesz to bardzo łatwo, flocka daj w if'a, w środku sleep(t) i odpalaj sobie w nowych kartach. Jeżeli ten plik musi się budować instant to zrób własne kolejkowanie (Cron + db), ale krok wcześniej, czyli w momencie jak user dodaje nowy item do tego XML'a, wtedy do kolejki może dodać się 10000 w 1 chwili, a system przemieli sobie to po kolei bez ciśnienia jak w analogii ze śliwkami. p.s błagam nie rób spacji przy operatorze obiektu, powinno być tak:
Ten post edytował netir 11.05.2020, 17:07:51 |
|
|
Wersja Lo-Fi | Aktualny czas: 23.04.2024 - 21:03 |