[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를 연결하여 데이터베이스 캐싱하는 방법에 대해 알아보았습니다. 이를 통해 애플리케이션의 성능을 향상시킬 수 있는 가치있는 기술입니다.