• 28-11-2014, 19:11:18
    #1
    merhaba arkadaşlar, aşağıda öreneğini verdiğim döngünün verilerini memcahe nasıl aktarabilirim? memcache hakkında bilgisi olan arkadaşlar yardımlarınızı bekliyorum....

    $result = mysql_query("SELECT * FROM makaleler WHERE status='1' ");
    while($data = mysql_fetch_assoc($result))
    {
       echo $data['title']."</br>";
    }
  • 28-11-2014, 20:07:59
    #2
    medesan adlı üyeden alıntı: mesajı görüntüle
    merhaba arkadaşlar, aşağıda öreneğini verdiğim döngünün verilerini memcahe nasıl aktarabilirim? memcache hakkında bilgisi olan arkadaşlar yardımlarınızı bekliyorum....

    $result = mysql_query("SELECT * FROM makaleler WHERE status='1' ");
    while($data = mysql_fetch_assoc($result))
    {
       echo $data['title']."";
    }
    Mysql sorgusun cache uzerinden yapildigi bir fonksiyon yazin. Bu fonksiyonda da memcache baglantisi yapin. Daha sonra gelen sorgunun cache'de olup olmadigini kontrol edin. Cache'te ise return yapip veriyi döndürün. Cache'de yoksa da mysql sorgusunu yapip cache'e alip veriyi döndürün...



    Sent from my GT-I9200 using Tapatalk
  • 01-12-2014, 14:18:47
    #3
    mtl adlı üyeden alıntı: mesajı görüntüle
    Mysql sorgusun cache uzerinden yapildigi bir fonksiyon yazin. Bu fonksiyonda da memcache baglantisi yapin. Daha sonra gelen sorgunun cache'de olup olmadigini kontrol edin. Cache'te ise return yapip veriyi döndürün. Cache'de yoksa da mysql sorgusunu yapip cache'e alip veriyi döndürün...



    Sent from my GT-I9200 using Tapatalk
    Hocam güzel anlatmışsınız ama bu dediklerini yapabilecek kadar bilgim olsa yardım istemez kendim yapardım...
  • 01-12-2014, 15:58:53
    #4
    Üyeliği durduruldu
    Arkadaşın dedigi yontem anladigim kadariyla bu


    <?php
    
    $cache = new Memcache();
    
    function makale($id = null) 
    {
        global $cache;
    
        $cacheKey = (null !== $id) ? "makale_id_" . $id : "makaleler_hepsi";
    
        if ($data = $cache->get($cacheKey)) {
            return $data;
        }
    
        $result = array();
        $strQ = "SELECT * FROM makaleler WHERE status='1' %s";
        $query = mysql_query(sprintf($strQ, ((null !== $id) ? "AND id = " . mysql_real_escape_string($id) : ""))); 
    
        while($data = mysql_fetch_assoc($query)) 
        { 
           $result[] = $data;
        }  
    
        if (null !== $id && count($resultSet) == 1) {
            $cache->set($cacheKey, $result); // zaman ve sıkıştırma aktif eklenebilir
            return current($result)
        } else if (null === $id && count($result) >= 1) {
            $cache->set($cacheKey, $result); // zaman ve sıkıştırma aktif eklenebilir
            return $result;
        }
        return false;
    }
    siz bütün makaleleri cekmişsiniz bende ona göre ayarladim tekrar, ilk basta id'ye gore cache koymustum,

    kullanimi

    $makaleler = makale();
    tüm makaleleri verir, eğer makale yoksa false doner ve cacheler tekrar istendiğinde cache'den verir

    $makale = makale(1);
    1 nolu makaleyi verir ve cacheler tekrar istendiğinde cachenden alir, eğer makale yoksa false doner

    hızlıca yazmaya calistim. umarım faydali olur.
  • 01-12-2014, 20:07:31
    #5
    medesan adlı üyeden alıntı: mesajı görüntüle
    Hocam güzel anlatmışsınız ama bu dediklerini yapabilecek kadar bilgim olsa yardım istemez kendim yapardım...
    Hocam, sen diyorsun ki bana balik tutmayi ogretme, direk baligi pisir onume koy

    Anlatimim gayet acikti. Siz kendi sisteminize gore bunu kurgulayacaksiniz o kadar. Mobil oldugum icin yardimci olamiyorum.

    Masaustune gecince ornek kod atarim.. kolay gelsin.

    Sent from my GT-I9200 using Tapatalk