현재 위치: > 최신 기사 목록> PHP 개발에서 데이터 캐싱 및 업데이트에 Memcache를 효율적으로 사용하는 방법

PHP 개발에서 데이터 캐싱 및 업데이트에 Memcache를 효율적으로 사용하는 방법

M66 2025-07-10

Memcache 소개

Memcache는 일반적으로 사용되는 데이터를 메모리에 저장할 수있는 고속 분산 메모리 객체 캐시 시스템으로 시스템 데이터의 읽기 효율을 크게 향상시킵니다. PHP 개발자의 경우 데이터 캐싱 및 업데이트에 Memcache를 사용하는 것이 매우 효과적인 성능 최적화 방법입니다. 이 기사에서는 PHP 개발에서 효율적인 Memcache 캐시 및 업데이트를 구현하는 방법을 보여줍니다.

memcache를 설치하고 구성하십시오

PHP에서 Memcache를 사용하려면 먼저 Memcache 확장을 설치하고 구성해야합니다. 이 기사는 Memcache의 설치 프로세스를 보여주기 위해 CentOS 시스템을 예제로 사용합니다.

 sudo yum install memcached
sudo yum install php-pecl-memcache

설치가 완료되면 Memcache를 구성해야합니다. /etc/sysconfig/memcached 파일을 열고 다음 내용을 수정하십시오.

 OPTIONS="-l 127.0.0.1 -p 11211"

이 구성 후 Memcache는 로컬 IP 주소에 묶여 포트 11211을 듣습니다. 구성을 저장 한 후 Memcache 서비스를 시작하십시오.

 sudo service memcached start

memcache를 연결하십시오

Memcache 서비스에 연결하는 것은 매우 간단합니다. Memcache 클래스를 통해 연결할 수 있습니다.

 $memcache = new Memcache();
$memcache->connect('127.0.0.1', 11211);

연결이 성공하면 Memcache가 제공 한 메소드를 캐시 및 업데이트 데이터를 업데이트 할 수 있습니다.

Memcache의 일반적인 운영

데이터를 얻으십시오

Get 메소드를 사용하여 Memcache에서 데이터를 얻습니다. 데이터가 존재하지 않으면 false를 반환합니다.

 $data = $memcache->get($key);
if ($data !== false) {
    // 데이터가 존재합니다,해당 작업을 수행하십시오
}

데이터 삭제

삭제 방법을 사용하여 Memcache에서 데이터를 삭제하십시오. 데이터가 존재하지 않으면 false를 반환합니다.

 $deleted = $memcache->delete($key);
if (!$deleted) {
    // 데이터가 존재하지 않습니다,해당 작업을 수행하십시오
}

데이터 교체

교체 방법을 사용하여 Memcache의 데이터를 교체하십시오. 데이터가 존재하지 않으면 false를 반환합니다.

 $replaced = $memcache->replace($key, $newData);
if (!$replaced) {
    // 데이터가 존재하지 않습니다,해당 작업을 수행하십시오
}

데이터 추가

추가 메소드를 사용하여 Memcache에 새 데이터를 추가하십시오. 데이터가 이미 존재하면 False를 반환합니다.

 $added = $memcache->add($key, $data);
if (!$added) {
    // 데이터가 이미 존재합니다,해당 작업을 수행하십시오
}

데이터를 줄입니다

감소 방법을 사용하여 Memcache의 데이터 값을 줄입니다. 데이터가 존재하지 않으면 false를 반환합니다.

 $value = $memcache->decrement($key, $amount);
if ($value === false) {
    // 데이터가 존재하지 않습니다,해당 작업을 수행하십시오
}

데이터 추가

증분 방법을 사용하여 Memcache의 데이터 값을 높이십시오. 데이터가 존재하지 않으면 false를 반환합니다.

 $value = $memcache->increment($key, $amount);
if ($value === false) {
    // 데이터가 존재하지 않습니다,해당 작업을 수행하십시오
}

사용의 예

다음은 데이터베이스 결과를 Memcache로 캐시하고 캐시에서 데이터를 읽는 방법을 보여주는 간단한 예입니다. 캐시에 데이터가 존재하지 않으면 데이터베이스에서 가져옵니다.

 // 데이터베이스에 연결하십시오
$db = new mysqli('localhost', 'user', 'password', 'database');
$result = $db->query('SELECT * FROM my_table');

// 캐시 데이터베이스 결과,캐시 시간은입니다1시간
$key = 'my_table_result';
$memcache->set($key, $result, MEMCACHE_COMPRESSED, 3600);

// ~에서Memcache데이터를 얻으십시오
$cachedResult = $memcache->get($key);
if ($cachedResult === false) {
    // 데이터가 존재하지 않습니다,~에서数据库中获取
    $cachedResult = $db->query('SELECT * FROM my_table');
}

// 처리 데이터
while ($row = $cachedResult->fetch_assoc()) {
    // 각 데이터 행을 처리합니다
}

요약

이 기사에 설명 된 방법을 통해 PHP 프로젝트의 데이터 캐싱 및 업데이트에 Memcache를 효율적으로 사용할 수 있습니다. Memcache는 특히 동시성이 높은 시나리오에서 시스템의 성능을 효과적으로 향상시킬 수 있습니다. 비즈니스 요구에 따라 캐싱 전략을 조정하여 성능을 최적화 할 수 있습니다.