Memcache, bir bellek tabanlı veri önbellekleme sistemidir ve verileri bellekte tutarak erişim hızını artırır. Memcache'yi kullanmak için, PHP'nin memcache veya memcached eklentilerini kurmanız gerekmektedir.

İşte PDO ve Memcache'i birleştirerek nasıl kullanabileceğinize dair bir örnek:

$host = 'localhost';
$dbname = 'your_database_name';
$username = 'your_username';
$password = 'your_password';

try {
    $db = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8", $username, $password);
    $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    // Önbellekleme için Memcache bağlantısını oluştur
    $memcache = new Memcached();
    $memcache->addServer('localhost', 11211);

    $key = 'your_cache_key';

    // Önbellekte veri var mı kontrol et
    $cachedData = $memcache->get($key);

    if ($cachedData) {
        // Önbellekte veri varsa, önbellekten veriyi kullan
        $results = $cachedData;
    } else {
        // Önbellekte veri yoksa, veritabanından veriyi al
        $stmt = $db->prepare("SELECT * FROM your_table_name");
        $stmt->execute();
        $results = $stmt->fetchAll(PDO::FETCH_ASSOC);

        // Veriyi önbelleğe kaydet
        $memcache->set($key, $results, 60); // 60 saniye boyunca önbellekte tut
    }

    // Sonuçları kullanma
    foreach ($results as $row) {
        echo $row['column1'] . ' - ' . $row['column2'] . '<br>';
    }

    $db = null;
} catch(PDOException $e) {
    echo "Hata: " . $e->getMessage();
}

 

 

Yukarıdaki örnekte, PDO ile MySQL veritabanına bağlanıyoruz ve bir sorguyu hazırlıyoruz. Ardından, önbellekleme için Memcache bağlantısını oluşturuyoruz. $key değişkeni, önbellekte saklanacak veriye bir anahtar değeri olarak atanır.

Veriyi önbellekte aramak için get() yöntemini kullanıyoruz. Eğer önbellekte veri bulunursa, veriyi kullanıyoruz. Eğer önbellekte veri yoksa, veritabanından veriyi alıyoruz, önbelleğe kaydediyoruz ve sonuçları kullanıyoruz.

Bu şekilde PDO ve Memcache'i birleştirerek, önbellekleme işlemlerini gerçekleştirebilir ve veritabanı erişim hızınızı artırabilirsiniz. Memcache'i kullanmadan önce PHP'nin memcache veya memcached eklentilerini kurmanız gerektiğini unutmayın.