![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 25.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
jestem dosc nowy w postgresie.. pracowalem glownie w mysql'u.. mam problem tego rodzaju: prawie kazda strona aplikacji korzysta z zapytania ktore laczy dwie spore tabele (pokazuje one osoby na czacie ktore sa w danej chwili online).. do tej pory bylo ok, ale serwis zyskuje na popularnosci i czasmi przymula baze. chcialbym napisac jakas funkce ktora bedzie korzystac z kesza co, powiedzmy 30 sekund, i w rezulatcie zamiast za kazdy razem (ta lista z osobowmi onilne znajduje sie na kazdej podstronie), odpolac to zapytanie, brralbym juz tylko wyniki.. nigdy w takie rzeczy sie jeszcez nie bawilem, czy moze mi ktos powiedziec co trzeba wykorzystac? czy procedury, czy widoki.. z gory dzieki. |
|
|
![]() |
![]() ![]()
Post
#2
|
|
![]() Administrator serwera Grupa: Developerzy Postów: 521 Pomógł: 13 Dołączył: 2.04.2004 Skąd: 52°24' N 16°56' E Ostrzeżenie: (0%) ![]() ![]() |
Najlepiej plik albo ram w żadnym razie bazę, jeśli może być kilkadziesiąt połączeń na sekunde. Jeśli lista userów online na czacie to kilka osób to baza pociągnie, im więcej tym gorzej dla maszyny:) Lepiej napisać demona w php/perl/c++/c/java, który się osadzi na porcie i odpytywać bezpośrednio demona przez port
![]() ![]() ![]() ![]() -------------------- Środowisko: Gentoo 2008.0 | Apache | PHP5 | PostgreSQL | MySQL | Postfix
Workstation: Gentoo 2008.0 | Firefox Thomas Alva Edison: "Aby coś wynaleźć wystarczy odrobina wyobraźni i sterta złomu ..." Odpowiedź na każde pytanie typu "Jak ...": "Nie da się, to nie PostgreSQL" |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 25.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
dzieki za odp.
pomysl z demonem brzmi ciekawie, tym b-j ze jest, jak napisalem, zrobienia tego w phpie. nigdy takiego czegos nie pisalem, moglbys cos wiecej powiedziec? jesli chcesz pogadac poza forum to zlapiesz mnie pod macdar at gmail . com |
|
|
![]() ![]()
Post
#4
|
|
![]() Administrator serwera Grupa: Developerzy Postów: 521 Pomógł: 13 Dołączył: 2.04.2004 Skąd: 52°24' N 16°56' E Ostrzeżenie: (0%) ![]() ![]() |
O ile dobrze pamiętam to na forum Seth przedstawiał podobną koncepcję demona napisanego w php
![]() -------------------- Środowisko: Gentoo 2008.0 | Apache | PHP5 | PostgreSQL | MySQL | Postfix
Workstation: Gentoo 2008.0 | Firefox Thomas Alva Edison: "Aby coś wynaleźć wystarczy odrobina wyobraźni i sterta złomu ..." Odpowiedź na każde pytanie typu "Jak ...": "Nie da się, to nie PostgreSQL" |
|
|
![]()
Post
#5
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 923 Pomógł: 9 Dołączył: 25.10.2004 Skąd: Rzeszów - studia / Warszawa - praca Ostrzeżenie: (0%) ![]() ![]() |
@ds26 Jesli chodzi i daemona to odradzam php, rowzniez JAVE ale za to polecam C lub C++. Jesli chodzi o Linuxa to sluze z pomoca bo walkowalem ten temat jakis czas temu.
-------------------- |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 25.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
ok, troche sie kiedys bawilem c++, wiec mozemy pogadac. odezwij sie na majla ktory podalem w moim poprzednim poscie.
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 53 Pomógł: 0 Dołączył: 16.11.2004 Ostrzeżenie: (0%) ![]() ![]() |
Gdybyś napisał całą aplikację w Javie, cache zapytań miałbyś za friko - Hibernate + EhCache i śmiga
![]() Możesz też zrobić widok zmaterializowany za pomocą triggerów i procedur, ale to jest nieco kłopotliwe, bo postgres nie ma jeszcze wsparcia dla takich zabawek. Zwyły widok (create view) nic Ci nie da, bo jest i tak za każdym razem obliczany. Widoki zmaterializowane mają DB/2 i Oracle. Jest jeszcze taka możliwość, że wyniki tego zapytania zapiszesz sobie w pliku. Jeśli będziesz ten plik głównie czytał, to i tak będzie w pamięci i będzie to się działo szybko. -------------------- Projekty: PLAY, optymalizator baz danych
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 359 Pomógł: 1 Dołączył: 16.04.2006 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Prosta klasa, chyba z użyciem nie będzie problemu ![]() Najpier usatw sobie tam na górze ile ma cache trzymać, potem ofc przed kazydm pobraniem sprawdzaj czy cache wazny jezli tak to z cache laduj jesli nie to z bazy.... Ten post edytował envp 12.02.2007, 14:33:39 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 20:33 |