Cache - Baza danych

2012-03-08 11:34:12 Post #21 nospor

 
No ale ty do cache nie masz wkładać całej tabeli, tylko daną stronę.
Tworząc cache masz tworzyć go dla danej strony. Dla idcache dodawaj aktualnej strony.

2012-03-08 11:48:02 Post #22 guest_xxdrago

 
Nie rozumiem, możesz jaśniej?

2012-03-09 07:48:53 Post #23 nospor

 
No cache masz tworzyć dla strony... No co tu można pisać jaśniej? Jesteś na stronie 1 to robisz dla 1. Jesteś na 6 to robisz dla 6
<?php
$pager = new Pager('id');
$pager->SetTotalRecords($liczbarekordow);
$pager->Make(true);
$pag = $pager->Render();
$actualPage = $pager->GetActualPage(); //tu aktualna strona
	
$coId = 'news'.$actualPage;
if (is_null($news = $this->Cache->Get($coId, '@queries'))){
......
}

?>

2012-03-09 16:07:57 Post #24 guest_xxdrago

 
Zrobiłem, coś takiego:
http://pastebin.com/bHeAVSKK

Wyskakuje:
Fatal error: Using $this when not in object context in C:\Program Files (x86)\xampp\xampp\htdocs\index.php on line 61

2012-03-09 17:55:11 Post #25 nospor

 
No ale nie kopiuj bezmyślnie. To był tylko przykład byś widział jak robić....

Czy ty masz $this->Cache?? Nie, ty masz $cache.

ps: w kodzie co pokazałeś ty znowu pobierasz wszystko. Jedyne co zmieniles, to to, że to "wszystko" łądujesz do chace danej strony. Do cache danej strony masz ładować dane z danej strony a nie wszystko...

2012-03-09 18:01:10 Post #26 guest_xxdrago

 
Co masz na myśli wszystko?

2012-03-09 18:09:24 Post #27 guest_xxdrago

 
PS:
Jeżeli ci chodzi o dane typu:
$news[] = array(
            'nazwa' => znaki('znaki', $newss['nazwa']),
            //'link' => $newss['link'],
            'id' => $newss['id'],
            'link' => $newss['link'],
            'tresc' => $cutText,
            'autor' => $newss['autor'],
            'data' => $newss['data'],
            'komentarze' => $row[0],
        );

To muszę je mieć aby potem je wyświetlić ładnie newsy:
<!--BeginNEWS-->
<div class="grid_6">
    <div class="title"><h2><a href="{link}.html">{nazwa}</a></h2></div>
    <div class="clear"></div>
    <div class="meta_data">Napisany przez {autor} dnia {data} {coments}</div>
    <div class="clear"></div>


    <p>{tresc}</p>
    <div class="clear"></div>
    <a href="{link}.html">&raquo; Czytaj więcej</a>
</div>

<!--EndNEWS-->
<div class="pagination">
    {pager}
</div>

2012-03-09 18:22:10 Post #28 nospor

 
"wszystko" - wszystkie newsy....
Zdaje się robisz stronicowanie wiec do cache danej strony masz wrzucać newsy z danej strony a nie wszystkie jakie masz w tabeli.

2012-03-09 18:30:11 Post #29 guest_xxdrago

 
No to mam sobie ustawić limit w zapytaniu ?

2012-03-09 18:37:15 Post #30 guest_xxdrago

 
Dobra, ładnie wszystko działa jak byś mógł jeszcze zobaczyć na kod:
http://pastebin.com/g38vaFSK

2012-03-09 18:48:20 Post #31 nospor

 
Zdecydowanie lepiej.

A wiesz, ze kometarze możesz pobrać w tym samym zapytaniu co newsy? ZWykły left join + group by + count

2012-03-10 19:06:15 Post #32 guest_xxdrago

 
acha, no to juz wiem Tylko kurde nie wiem czemu ale cały czas mi pobiera dane do cache.

2012-03-11 19:10:42 Post #33 guest_nospor

 
A skąd wiesz, że ciągle wkłada do cache zamiast pobierać?

2012-03-11 19:12:12 Post #34 guest_nospor

 
Juz wiem czemu.....

Tak pobierasz:
if (is_null($news = $cache->Get($coId, '@queries'))) {
a tak wkładasz
$cache->Put('news', $news, '@queries');

Widzisz coś ciekawego?

2012-03-12 16:28:56 Post #35 guest_xxdrago

 
Tak, mam włożyć dane w if i dać warunek jeżeli $news jest null A tak w ogóle to mam jakieś postępy z tym php? Bo niektórzy mi mówią , żeby zaczął programować obiektowo. Co o tym myślisz?

2012-03-12 21:45:18 Post #36 guest_xxdrago

 
Ale teraz patrze i dalej nie wiem o co chodzi...

2012-03-13 07:40:51 Post #37 nospor

 
Jaki null.....
Czy naprawde nie widzisz, że dane wkładasz do cache o nazwie X a pobierasz z cache o nazwie Y?? Nie uważasz, że powinieneś i wkładać i pobierać z X??

2012-03-13 15:22:48 Post #38 guest_xxdrago

 
Dobra chodzi dziękuje ale ze mnie nie "dureń". Teraz pytanie z tym obiektowy jak wyżej

2012-03-13 15:27:32 Post #39 nospor

 
No obiektówkę dobrze znać i stosować.
Kod jest czytelniejszy, bardziej skalowalny i ogólnie przyjaźniej się programuje.

2012-03-13 21:08:23 Post #40 guest_xxdrago

 
Gdzie najlepiej nauczyć się ponad podstaw MySQL miedzy innymi z tym lef join co pisałeś wyżej? Bo w dokumentacji nie najlepiej to pisze...

Answer

Categories

  1. wszystkie wszystkie komentarze all (1)