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ł (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Co o tym sądzicie?
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 (IMG:http://forum.php.pl/style_emoticons/default/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 (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)


Zdaję sobie sprawę, że podobne rozwiązania już istnieją, niemniej jednak zależy mi na konkretnych odpowiedziach (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Własne przemyślenia, doświadczenia, uwagi do rozwiązania.
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 (IMG:http://forum.php.pl/style_emoticons/default/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 (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
http://www.codeigniter.com/user_guide/database/caching.html

styka? (IMG:http://forum.php.pl/style_emoticons/default/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 (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Dzięki.

Czekam na dalsze uwagi.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 24.08.2025 - 01:36