Memcache 'li programlama yapısında genelde şu mantık kullanılır:
-
$kayit = $memcache->get( 'yorum_sayisi' . $resim_id );
-
if( !$kayit ) {
-
$kayit = 0; # db den gelen veri 0 olsun
-
$memcache->set('yorum_sayisi' . $resim_id , $kayit, false, 10);
-
}
Ama siz bu yapıyı kullanmayın !
Bunun yerine :
-
$kayit = $memcache->get( 'yorum_sayisi' . $resim_id );
-
if( $kayit === false ) {
-
$kayit = 0; # db den gelen veri 0 olsun
-
$memcache->set('yorum_sayisi' . $resim_id , $kayit, false, 10);
-
}
kullanın.
Sebebine gelince ; Memcache de sayisal veri tutuyorsanız, ki bu örnekte resmin yorum sayisini db 'den çekip memcache yazdığımızı varsayalim.
İlk yapı hatalı çalışacaktır. Çünkü yorum sayısı 0 olan bir resim için !$kayit ifadesi herzaman true olur ve memcache istediğimiz gibi çalışmaz.
Entries (RSS)