Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> buforowanie wyników zapytania sql
batman
post
Post #1





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




Witam

Siedząc bezczynnie w pociągu wpadłem na pewien pomysł - buforowanie wyników zapytania sql. Wygląda to mniej więcej tak.

Wchodząc po raz pierwszy na stronę (np. lista użytkowników) wykonuje się zapytanie wyciągające dane z bazy. Dane te zapisywane są do tablicy, a ta zapisywana do pliku php utworzonego w momencie zwracania danych do użytkownika. Teraz jeśli nastąpi żądanie o dane z tabeli tabuser, wówczas zamiast wykonywać kolejne zapytanie wystarczy dołączyć plik php z tablicą zawierającą potrzebne dane.

Co jeśli dane ulegną zmianie?
Można to rozwiązać na dwa sposoby - aktualizować bufory (pliki php z tablicą) lub je kasować.

W jaki sposób sortować dane?
Poprzez sortowanie tablicy.

W jaki sposób zastosować stronicowanie - wygenerować tyle plików php, ile jest stron.

Bufory będą miały następującą nazwę: tabuser_1_50.php, gdzie tabuser to nazwa zbuforowanej tabeli, 1 to pierwszy iduser-a zwrócony przez zapytanie, 50 - ostatni.

Nie napisałem jeszcze klasy, która by za to odpowiadała, ponieważ jest to dopiero pomysł winksmiley.jpg

Co o tym sądzicie?


--------------------
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.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
nrm
post
Post #2





Grupa: Zarejestrowani
Postów: 627
Pomógł: 33
Dołączył: 1.05.2005
Skąd: Katowice

Ostrzeżenie: (0%)
-----


sądzimy, że ameryki nie odkryłeś i serializację danych sql używamy od ładnych paru lat winksmiley.jpg


--------------------
Go to the top of the page
+Quote Post
batman
post
Post #3





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




Cytat(normanos @ 1.11.2006, 15:25:30 ) *
sądzimy, że ameryki nie odkryłeś i serializację danych sql używamy od ładnych paru lat winksmiley.jpg


Zdaję sobie sprawę, że podobne rozwiązania już istnieją, niemniej jednak zależy mi na konkretnych odpowiedziach winksmiley.jpg Własne przemyślenia, doświadczenia, uwagi do rozwiązania.


--------------------
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.
Go to the top of the page
+Quote Post
nrm
post
Post #4





Grupa: Zarejestrowani
Postów: 627
Pomógł: 33
Dołączył: 1.05.2005
Skąd: Katowice

Ostrzeżenie: (0%)
-----


przemyślenia, doświadczenia:

- nie wszystko jest sens keszować

- kesz na czas zamiast zrób/skasuj jest bardzo przydatny w wielu przypadkach, przykład:

lista kategori (i ilośc wpisów) np. rozrywka (342), muzyka (453)
z keszem typu start/stop musiałbyś bez przerwy resetować kesz po jakims wpisie co w tym przypadku wydaje się zbędne. za to robisz kesz na czas, powiedzmy 15 minut i gra. przy wiekśzym zajcie nikt niezauważy, że masz 568 zamiast 592 smile.gif

- dla ciebie ważne jest aby generować serializowane dane z unikalnym uchwytem zeby niepomieszac sobie danych

- CodeIgniter przykladowo robi to wg. kontrolera/akcji winksmiley.jpg
http://www.codeigniter.com/user_guide/database/caching.html

styka? winksmiley.jpg


--------------------
Go to the top of the page
+Quote Post
batman
post
Post #5





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




Cytat
- nie wszystko jest sens keszować


Nie będę keszował wszystkich zapytań do bazy. W klasie do obsługi źródła danych dodam możliwość wyboru.

Cytat
- kesz na czas zamiast zrób/skasuj jest bardzo przydatny w wielu przypadkach


Wybór sposobu czyszczenia bufora też pozostawię do wyboru. Niektóre zmiany powinny być widoczne od razu, np info o użytkownikach, a niektóre mogą "chwilę" poczekać, np info o produktach.

Cytat
- dla ciebie ważne jest aby generować serializowane dane z unikalnym uchwytem zeby niepomieszac sobie danych


Za to będzie odpowiedzialna nazwa pliku

Cytat
styka? winksmiley.jpg


Styka winksmiley.jpg
Dzięki.

Czekam na dalsze uwagi.


--------------------
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.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 23:26