[php] PHP 메모리 캐시 설정

PHP 애플리케이션을 최적화하는 한 가지 방법은 메모리 캐시를 사용하는 것입니다. 메모리 캐시를 사용하면 매번 동일한 결과를 생성하는 대신 캐시된 데이터를 반환하여 성능을 향상시킬 수 있습니다.

APCu 설치

우리는 APCu(APC User Cache)를 사용하여 PHP 메모리 캐시를 구성할 것입니다. 아래 명령을 사용하여 APCu를 설치합니다.

sudo pecl install apcu

PHP 설정 파일 수정

다음으로, 아래의 설정을 php.ini 파일에 추가하여 APCu를 활성화하고 적절한 크기의 메모리를 할당합니다.

extension=apcu.so
apc.enable_cli=1  ; 콘솔 스크립트에서도 캐시를 사용할 수 있도록 설정
apc.shm_size=128M  ; 할당할 메모리 크기 (예: 128M 또는 1G)

위 설정은 APCu를 활성화하고 콘솔 스크립트에서도 캐시를 사용할 수 있도록 하며, 128MB의 메모리를 할당합니다.

메모리 캐시 사용 예제

이제 APCu를 사용하여 배열을 캐시하는 간단한 예제를 살펴보겠습니다.

<?php
// 캐시할 데이터
$data = ['key' => 'value'];

// 캐시에서 데이터 가져오기
$cachedData = apcu_fetch('my_cached_data');

// 캐시에 데이터가 없을 경우에만 데이터를 설정
if ($cachedData === false) {
    apcu_store('my_cached_data', $data);
    echo '데이터를 캐싱했습니다.';
} else {
    echo '캐시된 데이터를 사용했습니다.';
}

// 결과: 데이터를 캐싱했습니다. (첫 번째 실행), 캐시된 데이터를 사용했습니다. (다음 실행)
?>

위 예제에서는 apcu_fetch 함수를 사용하여 캐시된 데이터를 가져오고, 데이터가 존재하지 않을 경우 apcu_store 함수를 사용하여 데이터를 캐싱합니다.

메모리 캐시를 사용하면 반복적인 데이터 접근을 효율적으로 처리할 수 있으므로, PHP 애플리케이션의 성능을 향상시키는 데 도움이 됩니다.


참고 문헌: