Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Persistent connection to db
Forum PHP.pl > Forum > PHP
FiDO
Jak sprawdzic czy zostalo wykorzystane poprzednie polaczenie, czy tez moze zostalo utworzone nowe?
Chodzi mi o to, ze loguje laczenia sie z baza i wszystkie zapytania wysylane do niej, i teraz przy przechodzeniu do kolejnych podstron za kazdym razem loguje sie connectowanie, bo nie wiem jak sprawdzic czy zostalo wykorzystane poprzednie polaczenie czy tez moze nie...
hyper
scanner: twój post jest nie na temat...

Moim zdaniem trzeba zapisać gdzieś obecny uchwyt (resource id)
połączenia z bazą danych i później porównywać przy ponownych próbach
łączenia się z bazą.
FiDO
Chodzi o postgres'a

Cytat
Moim zdaniem trzeba zapisać gdzieś obecny uchwyt (resource id)
połączenia z bazą danych i później porównywać przy ponownych próbach
łączenia się z bazą.

Tez o tym myslalem, ale gdzie to zapisac najlepiej?
Moze w sesji po przepuszczeniu przez serialize?
Z tym, ze to tez nie zawsze zadziala, bo jak z jednego IP polaczy sie wiecej osob (wg manuala skrypt wykorzysta aktywne juz polaczenie gdy nastepuje polaczenie z tego samego IP, na ten sam zestaw user/pass) to wtedy sesje zawioda...
Czyli zostaje baza lub pliki... oczywiscie w przypadku bazy nie bede juz logowal i tych polaczen, bo bym sie zapetlil winksmiley.jpg
Wydaje mi sie, ze wystarczyloby, gdybym zapoisywal do tej bazy ciag np. ip_klienta:user (bo dla jednego usera haslo jest chyba tylko jedno?) i tylko to sprawdzal czy w bazie/pliku istnieje juz polaczenie z tego IP na danego usera. Moze byc?
kurtz
Cytat
Cytat

Moim zdaniem trzeba zapisać gdzieś obecny uchwyt (resource id)
połączenia z bazą danych i później porównywać przy ponownych próbach
łączenia się z bazą.

Tez o tym myslalem, ale gdzie to zapisac najlepiej?
Moze w sesji po przepuszczeniu przez serialize?

uchwyty do polaczen z db nie daj sie serializowac!
niech waz bozia od tego odtrzymuje ;)

moje uwagi
1) jesli koniecznie chcesz to uzywaj pconnecta - jesli isntieje juz poalczenie pconnect domyslnei skorzysta juz z istniejacego. wada jest fakt ze bedzie ono zawsze wisialo.
2) jesli serwis nie jest duzy (albo jest przeogromny) to korzystaj z connect'a. po zakonczeniu pracy skryptu connecty sa usuwane z pamieci i nie zajmuja miejsca.

ps
wogole warto az tak kombinowac? ;)
FiDO
Cytat
1) jesli koniecznie chcesz to uzywaj pconnecta - jesli isntieje juz poalczenie pconnect domyslnei skorzysta juz z istniejacego. wada jest fakt ze bedzie ono zawsze wisialo.
2) jesli serwis nie jest duzy (albo jest przeogromny) to korzystaj z connect'a. po zakonczeniu pracy skryptu connecty sa usuwane z pamieci i nie zajmuja miejsca.

ps
wogole warto az tak kombinowac? winksmiley.jpg

ech.. chodzi mi tylko o to, zeby sprawdzic czy pconnect wykorzystal istniejace juz polaczenie czy tez stworzyl sobie nowe (bo jeszcze nie bylo zadnego), a samego pconnecta wprowadzilem tylko dlatego, ze loguje odwolania do bazy i wkurzaja mnie napisy "Connected" co kilka linijek (przy kazdej podstronie) smile.gif
Jak wroce z wykladu to wyprobuje sobie swoj sposob snitch.gif
kurtz
Cytat
ech.. chodzi mi tylko o to, zeby sprawdzic czy pconnect wykorzystal istniejace juz polaczenie czy tez stworzyl sobie nowe (bo jeszcze nie bylo zadnego),
sprawdzac wartosc inta zwroconego przez pconnecta. tylko to juz bedzie wtedy troszke po fakcie - polaczneie bedzie juz utworzeone. wiecej jesli kiedykolwiek ktos wejdzie na witryne od restartu serwera to bedzie wisialo jedno polaczenie wiec i liczenie troszke dla mnie nie ma sensu.

pomysl dla ciebie:
- ustawic maksymalna ilosc persistant connections na 1 i reszte obslugiwac ocnnectami.

Cytat
a samego pconnecta wprowadzilem tylko dlatego, ze loguje odwolania do bazy i wkurzaja mnie napisy "Connected" co kilka linijek (przy kazdej podstronie) :)
akurat nadmiar logow to chyba nie powinien byc powod do obaw..
FiDO
Cytat
wiecej jesli kiedykolwiek ktos wejdzie na witryne od restartu serwera to bedzie wisialo jedno polaczenie wiec i liczenie troszke dla mnie nie ma sensu.

W sumie racja, troche zle zrozumialem persistant connections i myslalem, ze jest tworzone osobne dla kazdego IP klienta... ale sie okazalo, ze nie bylo napisane "from the same host with the same user & pass", a "to the same host...", jest subtelna roznica smile.gif
Wiec olewam to i wale normalne connecty...
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.