[php] PDO와 Memcached 연결

이 기술 블로그에서는 PHP 데이터베이스 연결을 위해 PDO를 사용하고, Memcached를 이용하여 데이터베이스 결과를 캐싱하는 방법에 대해 알아보겠습니다.

PDO를 이용한 데이터베이스 연결

PHP 프로젝트에서 데이터베이스와 연결하기 위해 PDO (PHP Data Objects)를 사용할 수 있습니다. 아래는 PDO를 사용하여 MySQL 데이터베이스에 연결하는 예제 코드입니다.

<?php
$dsn = 'mysql:host=localhost;dbname=mydatabase';
$username = 'username';
$password = 'password';
$options = array(
    PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
    PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC
);

try {
    $pdo = new PDO($dsn, $username, $password, $options);
    echo "Connected to the database";
} catch (PDOException $e) {
    echo "Connection failed: " . $e->getMessage();
}
?>

Memcached를 이용한 데이터베이스 캐싱

데이터베이스 쿼리 결과를 캐싱하여 웹 애플리케이션의 성능을 향상시킬 수 있습니다. Memcached는 메모리 기반의 키-값 스토어로, 캐시용으로 데이터를 저장하는 데에 매우 효과적입니다.

<?php
$memcached = new Memcached();
$memcached->addServer('localhost', 11211);

$key = 'query_results';
$results = $memcached->get($key);

if (!$results) {
    // 데이터베이스 쿼리 실행
    $results = // 쿼리 결과
    $memcached->set($key, $results, 600); // 10분 동안 캐싱
}
?>

PDO와 Memcached를 연결

이제 PDO와 Memcached를 함께 사용하여 데이터베이스 쿼리 결과를 캐싱할 수 있습니다. 아래는 PDO를 사용하여 데이터베이스에 연결하고, Memcached를 사용하여 쿼리 결과를 캐싱하는 예제 코드입니다.

<?php
$dsn = 'mysql:host=localhost;dbname=mydatabase';
$username = 'username';
$password = 'password';
$options = array(
    PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
    PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC
);

$pdo = new PDO($dsn, $username, $password, $options);

$memcached = new Memcached();
$memcached->addServer('localhost', 11211);

$key = 'query_results';
$results = $memcached->get($key);

if (!$results) {
    $query = $pdo->prepare('SELECT * FROM table');
    $query->execute();
    $results = $query->fetchAll();
    $memcached->set($key, $results, 600); // 10분 동안 캐싱
}
?>

이렇게하면 PDO를 사용하여 데이터베이스에 연결하고 Memcached를 사용하여 데이터베이스 쿼리 결과를 캐싱할 수 있습니다. 이렇게 함으로써 성능 향상을 이끌어낼 수 있습니다.

참고 자료

이상으로 PDO와 Memcached를 연결하여 데이터베이스 캐싱하는 방법에 대해 알아보았습니다. 이를 통해 애플리케이션의 성능을 향상시킬 수 있는 가치있는 기술입니다.