Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [OOP][PHP]Cache i problemy z nim zwiazane, Jak stronnicowac?
marcio
post
Post #1





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

Ostrzeżenie: (10%)
X----


Witam mam dosyc banalne pytanie tworze cache cos al'a Kohana bo rozwiazanie z katalogami mi sie nie podoba.

I mam problem powiedzmy ze pobieram wszystkie news'y z bazy jest ich 15 i tablica w pliku cache wyglada mniej wiecej tak:
Kod
Array(
        0 => array(
                       'id' => 1,
                       'tytul' => 'Pierwszy news',
                       'autor' => 'marcio'
                      ),

        1 => array(
                        'id' => 2,
                        'tytul' => 'Drugi news',
                        'autor' => 'vodka'
                       ),

        2 => array(
                        'id' => 0,
                        'tytul' => 'Trzeci news',
                        'autor' => 'FLash'
                       )
)

//itp dalesz 12 news'ow

Ok nie ma problemu gdy chcemy pobrac wszystkie news'y.
Co jesli chce pobrac tylko pierwszym 5 na 1 strone potem od 5 do 10 na 2 wiem jak zrobic stronnicowanie nie o to chodzi, jednak nie wiem zabardzo jak zaprojektowac cache bym mogl tez na jego podstawie stronnicowac.

Mysle ze tak jak pokazalem jest good jednak nie jestem pewny.

Powiedzmy ze ten plik z tym array'em ktory pokazalem nazywa sie news.cache.php bez zadnych tagow.
Moglbym tak zaimplementowac funkcje getFromCache() bym mogl zrobic cos takiego:
  1. //1 param: string id cache
  2. //2 param int index poczatkowy
  3. //3 param int index koncowy
  4. $pierwsze_5_newsow = $this -> cache -> getFromCache('news', $this -> router -> getParams(1)*5, 5);

Cos w tym stylu wtedy pobierze mi news'y z index'ami od 5 do 10 np.

EDIT:
Przyszlo mi do glowy jeszcze jedno rozwiazanie by plik robic jednak z tagami:
news|1-5.cache.php
Wtedy w metodzie getAllNews() pobieramy z url'a limit tak jak sie to zawsze robic i pobieram za pomoca tagu ktory wezme z url'a?
Co o tym myslicie?

Ten post edytował marcio 4.11.2009, 11:27:05
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Zyx
post
Post #2





Grupa: Zarejestrowani
Postów: 952
Pomógł: 154
Dołączył: 20.01.2007
Skąd: /dev/oracle

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


W przypadku newsów możesz rozważyć cache'owanie jedynie pierwszej strony wyników, gdyż to ona przeważnie będzie przedmiotem zainteresowania internauty. Na pozostałych ruch powinien być na tyle mały, że cache raczej tam nic nie da. Natomiast w przypadku jakichś list, gdzie chronologia nie ma znaczenia, będziesz musiał cache'ować każdą stronę oddzielnie, dlatego warto przeanalizować, czy to się opłaca. Ja zawsze w przypadku takich zmieniających się danych staram się buforować jedynie domyślnie wyświetlane wartości, wychodząc z założenia, że to one są najczęściej oglądane przy pobieżnym rzucie oka na stronę.
Go to the top of the page
+Quote Post

Posty w temacie


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: 2.10.2025 - 18:14