>  기사  >  백엔드 개발  >  PHP-FPM 성능 최적화 예: 웹사이트 데이터 캐싱 효율성을 향상시키는 방법

PHP-FPM 성능 최적화 예: 웹사이트 데이터 캐싱 효율성을 향상시키는 방법

WBOY
WBOY원래의
2023-10-05 11:27:16837검색

PHP-FPM 성능 최적화 예: 웹사이트 데이터 캐싱 효율성을 향상시키는 방법

PHP-FPM 성능 최적화 예: 웹사이트 데이터 캐싱 효율성을 향상시키는 방법

인터넷의 급속한 발전과 함께 웹사이트 방문 횟수도 증가하고 있으므로 웹사이트 성능 향상이 중요해졌습니다. 문제. 일반적으로 사용되는 PHP 인터프리터인 PHP-FPM은 웹사이트 성능 최적화에 특히 중요합니다. 이 기사에서는 웹사이트 데이터 캐싱의 효율성을 향상시키는 몇 가지 방법을 소개하고 구체적인 코드 예제를 제공합니다.

  1. 캐시 확장 사용

PHP에서 일반적으로 사용되는 캐시 확장에는 Redis, Memcached 등이 있습니다. 이러한 확장은 데이터를 메모리에 저장하고 데이터를 읽을 수 있는 속도를 높입니다. 캐시 확장을 사용하면 자주 액세스하는 일부 데이터를 캐시하여 매번 데이터베이스에서 읽지 않도록 할 수 있습니다. 다음은 Redis를 캐시로 사용하는 샘플 코드입니다.

// 连接Redis服务器
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);

// 检查缓存中是否存在数据
if ($redis->exists('cache_key')) {
    $result = $redis->get('cache_key');
} else {
    // 从数据库中读取数据
    $result = db_query('SELECT * FROM table');
  
    // 将数据存入缓存
    $redis->set('cache_key', $result, 60); //设置过期时间为60秒
}

// 使用数据
echo $result;
  1. 캐싱 프록시 사용

웹 사이트에 많은 양의 데이터가 있는 경우 데이터베이스에서 직접 데이터를 읽는 효율성은 상대적으로 낮습니다. 이때 캐싱 프록시를 사용하여 데이터베이스 쿼리 결과를 캐시에 저장할 수 있으며, 다음 쿼리는 캐시에서 직접 데이터를 읽습니다. 일반적으로 사용되는 캐싱 프록시에는 MySQL 캐시, Nginx 캐시 등이 포함됩니다. 다음은 MySQL 캐시를 사용한 샘플 코드입니다.

// 打开MySQL查询缓存
$query = "SELECT SQL_CACHE * FROM table";
$result = db_query($query);
while($row = mysql_fetch_assoc($result)) {}

// 使用数据
foreach($row as $key=>$value){
    echo $value;
}
  1. 페이지 조각 캐싱

웹사이트 개발 시 일부 페이지 조각은 자주 로드되지만 일부 내용은 자주 변경되지 않을 수 있습니다. 이때, 변경되지 않는 이 부분의 내용을 캐싱하여 서버에 대한 부담을 줄일 수 있습니다. 다음은 페이지 조각을 캐시하기 위한 샘플 코드입니다.

// 检查缓存文件是否存在
if (file_exists('cache.html')) {
    // 从缓存文件中读取内容
    $content = file_get_contents('cache.html');
} else {
    // 生成页面内容,并存入缓存文件
    $content = generate_content();
    file_put_contents('cache.html', $content);
}

// 输出页面内容
echo $content;
  1. 캐시 제어 헤더 사용

캐시 제어 헤더를 사용하면 캐시된 파일의 유효 기간을 브라우저에 알릴 수 있습니다. 브라우저는 다시 다운로드하는 대신 캐시에서 직접 파일을 읽습니다. 다음은 캐시 제어 헤더 설정을 위한 샘플 코드입니다.

// 设置缓存有效期为1小时
$expires = 60 * 60;
header("Pragma: public");
header("Cache-Control: maxage=".$expires);
header('Expires: ' . gmdate("D, d M Y H:i:s", time() + $expires) . ' GMT');

// 输出页面内容
echo $content;

위의 캐시 최적화 방법을 통해 웹사이트의 데이터 캐싱 효율성을 효과적으로 향상시키고 서버의 부하를 줄일 수 있습니다. 물론, 각 웹사이트마다 다양한 상황에 따라 구체적인 최적화 방법을 결정해야 합니다. 위 내용이 도움이 되셨기를 바랍니다.

위 내용은 PHP-FPM 성능 최적화 예: 웹사이트 데이터 캐싱 효율성을 향상시키는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.