PHP-FPM 성능 최적화 예: 웹사이트 데이터 캐싱 효율성을 향상시키는 방법
인터넷의 급속한 발전과 함께 웹사이트 방문 횟수도 증가하고 있으므로 웹사이트 성능 향상이 중요해졌습니다. 문제. 일반적으로 사용되는 PHP 인터프리터인 PHP-FPM은 웹사이트 성능 최적화에 특히 중요합니다. 이 기사에서는 웹사이트 데이터 캐싱의 효율성을 향상시키는 몇 가지 방법을 소개하고 구체적인 코드 예제를 제공합니다.
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;
웹 사이트에 많은 양의 데이터가 있는 경우 데이터베이스에서 직접 데이터를 읽는 효율성은 상대적으로 낮습니다. 이때 캐싱 프록시를 사용하여 데이터베이스 쿼리 결과를 캐시에 저장할 수 있으며, 다음 쿼리는 캐시에서 직접 데이터를 읽습니다. 일반적으로 사용되는 캐싱 프록시에는 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; }
웹사이트 개발 시 일부 페이지 조각은 자주 로드되지만 일부 내용은 자주 변경되지 않을 수 있습니다. 이때, 변경되지 않는 이 부분의 내용을 캐싱하여 서버에 대한 부담을 줄일 수 있습니다. 다음은 페이지 조각을 캐시하기 위한 샘플 코드입니다.
// 检查缓存文件是否存在 if (file_exists('cache.html')) { // 从缓存文件中读取内容 $content = file_get_contents('cache.html'); } else { // 生成页面内容,并存入缓存文件 $content = generate_content(); file_put_contents('cache.html', $content); } // 输出页面内容 echo $content;
캐시 제어 헤더를 사용하면 캐시된 파일의 유효 기간을 브라우저에 알릴 수 있습니다. 브라우저는 다시 다운로드하는 대신 캐시에서 직접 파일을 읽습니다. 다음은 캐시 제어 헤더 설정을 위한 샘플 코드입니다.
// 设置缓存有效期为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 중국어 웹사이트의 기타 관련 기사를 참조하세요!