![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 170 Pomógł: 14 Dołączył: 16.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Chciałem się dowiedzieć w którym miejscu łączycie się z bazą. Ja robię to standardowo(?) w index i zapisuje połączenie do rejestru. Gdy mam cały widok w cache (smarty) to połączenie jest mi niepotrzebne. Zastanawiam się czy przerobić skrypt i nawiązywać to połączenie w każdej akcji (jeżeli nie ma cache), w ten sposób zaoszczędzę milisekundy ![]() Pozdrawiam |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 ![]() |
Gdy zaczynałem się uczyć ZF, znalazłem fajny artykuł na temat umiejscowienia różnych dziwnych rzeczy w ZF. Autor przedstawił ciekawą koncepcję, polegającą na stworzeniu plugina inicjalizującego. W tym pluginie wykonują sie wszystkie operacje, które muszą się wykonać podczas ładowania strony, między innymi łączenie z bazą danych. Niestety nie mam linka do tego artykułu.
-------------------- I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features. |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 170 Pomógł: 14 Dołączył: 16.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
Ale gdy cała strona jest w cache to przecież połączenie nie jest mi potrzebne.
A z tego co mi wiadomo co pluginy są ładowane i w ten sposób też zawsze zostanie nawiązane połączenie z bazą. Ten post edytował Eagle 29.01.2009, 17:16:14 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 ![]() |
W moim przypadku zdecydowaną większość stanowią aplikacje, które muszą mieć cały czas połączenie z bazą.
-------------------- I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 17.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
Ja mam plugina zarejestrowanego w bootstrapie:
Ale w całej aplikacji potrzebuję połączenia z bazą. Jeżeli potrzebujesz połączenie tylko w określonym kontrolerze, to umieść w metodzie init(). |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 170 Pomógł: 14 Dołączył: 16.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
Cała aplikacja potrzebuje dostępu do bazy, więc chyba zostawię tak jak mam teraz. Więcej zabawy chyba zajmie mi obmyślanie optymalizacji o te 0,5 milisekundy.
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
ZF ma tzw: lazy connections, ktore powoduje ze do bazy łączysz sie wtedy, kiedy poraz pierwszy tego potrzebujesz
http://framework.zend.com/manual/en/zend.d...g.getconnection ale nie tescilem tego wiec nie wiem jak dziala w praktyce -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 24 Pomógł: 1 Dołączył: 25.03.2006 Ostrzeżenie: (0%) ![]() ![]() |
ale nie tescilem tego wiec nie wiem jak dziala w praktyce Działa poprawnie. Prawdziwe połączenie jest nawiązywane dopiero przy pierwszym zapytaniu. Jedyny "problem" to MySQL i SET NAMES, ale na Trackerze znajduje się patch który świetnie rozwiązuje ten problem. -------------------- Blog
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 02:42 |