PHP에서 MySQL 데이터베이스를 작동 할 때 때때로 캐시 된 데이터가 제 시간에 업데이트되지 않는 문제가 발생합니다. MySQL의 캐싱 메커니즘은 쿼리 효율성을 향상시킬 수 있지만 경우에 따라 최신 데이터를 얻으려면 캐시를 강제로 새로 고쳐야합니다. mysqli :: 새로 고침 함수는이 기능을 구현하는 데 사용되는 도구입니다.
이 기사는 MySQLI :: 새로 고침 기능의 사용법을 자세히 소개하고 MySQL 캐시를 새로 고치기 위해 올바르게 호출하는 방법을 설명하고 샘플 코드를 동반하여 이해합니다.
mysqli :: Refresh는 PHP의 MySQLI 확장자가 제공하는 방법으로 개발자가 MySQL 서버의 상태 정보 및 캐시를 새로 고칠 수 있습니다. MySQL의 플러시 작동에 해당하며 테이블 캐시, 쿼리 캐시 등과 같은 다양한 캐시를 새로 고칠 수 있습니다.
public bool mysqli::refresh(int $options)
$ 옵션 : 일반적으로 사전 정의 된 상수를 사용하여 하나 이상의 새로 고침 옵션의 조합.
반환 값 : 실행이 성공하면 true를 반환하고 실패가 False 인 경우 False.
다음은 MySQLI :: 새로 고침이 지원하는 몇 가지 일정한 옵션입니다.이 조합으로 사용할 수 있습니다.
mysqli_refresh_grant : 허가 관련 캐시를 새로 고침합니다.
mysqli_refresh_log : 로그 파일을 새로 고치십시오.
mysqli_refresh_tables : 테이블 캐시를 새로 고치십시오.
mysqli_refresh_hosts : 호스트 캐시를 새로 고치십시오.
mysqli_refresh_status : 상태 변수를 새로 고치십시오.
mysqli_refresh_threads : 스레드 캐시를 새로 고침합니다.
mysqli_refresh_slave : 마스터 슬레이브 복제와 관련된 정보를 새로 고치십시오.
mysqli_refresh_master : 기본 서버 관련 정보를 새로 고치십시오.
mysqli_refresh_query_cache : 쿼리 캐시를 새로 고치십시오.
다음 예제는 MySQL 데이터베이스에 연결하고 쿼리 캐시를 새로 고치는 방법을 보여줍니다.
<?php
$mysqli = new mysqli("gitbox.net", "username", "password", "database");
if ($mysqli->connect_errno) {
echo "연결이 실패했습니다: " . $mysqli->connect_error;
exit();
}
// 쿼리 캐시를 새로 고침합니다
if ($mysqli->refresh(MYSQLI_REFRESH_QUERY_CACHE)) {
echo "쿼리 캐시가 성공적으로 새로 고침됩니다";
} else {
echo "쿼리 캐시 새로 고침이 실패했습니다: " . $mysqli->error;
}
$mysqli->close();
?>
mysqli_refresh_query_cache 옵션은 MySQL 쿼리 캐시를 새로 고치는 데 사용됩니다.
여러 캐시를 동시에 새로 고치려면 Bitwise 또는 연산자를 사용하여 상수를 전달할 수 있습니다 | 콤비네이션:
$mysqli->refresh(MYSQLI_REFRESH_TABLES | MYSQLI_REFRESH_QUERY_CACHE);
이 코드는 테이블 캐시 및 쿼리 캐시를 새로 고침합니다.
권한 문제 : 캐시를 새로 고치는 작업에는 일반적으로 관리자 권한 (예 : 재 장전 권한)이 필요합니다. 그렇지 않으면 실행이 실패합니다.
캐시 새로 고침 비용 : 캐시의 자주 새로 고침은 데이터베이스 성능에 영향을 줄 수 있으며 필요한 경우 사용하는 것이 좋습니다.
응용 프로그램의 범위 : MySQLI :: 새로 고침은 주로 개발 및 디버깅 또는 작동 및 유지 보수 스크립트와 같은 캐시 새로 고침의 수동 제어가 필요한 시나리오에서 사용됩니다.
MySQLI :: 새로 고침 기능을 합리적으로 사용하면 PHP 개발자는 MySQL 캐시를보다 유연하게 제어하여 데이터 일관성과 최신 정보를 보장 할 수 있습니다.