![]() |
![]() |
![]()
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? |
|
|
![]() |
![]()
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)
|
|
|
![]()
Post
#3
|
|
Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 ![]() |
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. |
|
|
![]()
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) |
|
|
![]()
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. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 01:36 |