게시판 캐시 최적화로 서버 부하 줄이기

· 4개월 전 · 571 · 5

게시판 캐시 최적화 (APCu / File Cache 활용) → 방문자 수가 많거나 리스트가 복잡한 게시판은 매 요청마다 SQL 쿼리를 반복 실행하므로 서버 부하가 커짐. 이때 게시판 리스트·인기글·댓글 수 등 자주 조회되는 데이터를 캐시해두면 성능을 크게 개선할 수 있음.

 

// popular.cache.php (예시)
$cache_key = 'popular_list';
$cache_time = 60; // 캐시 유효시간 60초

if(function_exists('apcu_fetch') && $data = apcu_fetch($cache_key)) {
    $popular_list = $data;
} else {
    $popular_list = sql_query("SELECT wr_subject, wr_id FROM g5_write_notice ORDER BY wr_hit DESC LIMIT 10");
    if(function_exists('apcu_store')) apcu_store($cache_key, $popular_list, $cache_time);
}
 

// file_cache 예시
$cache_file = G5_DATA_PATH.'/cache/popular.cache';
if(file_exists($cache_file) && time() - filemtime($cache_file) < 60) {
    $popular_list = unserialize(file_get_contents($cache_file));
} else {
    $popular_list = sql_query("SELECT wr_subject, wr_id FROM g5_write_notice ORDER BY wr_hit DESC LIMIT 10");
    file_put_contents($cache_file, serialize($popular_list));
}
 

DB쿼리 횟수 감소로 속도 향상

트래픽 급증 시에도 안정적 동작

인기글, 최근글, 댓글목록 등 반복 조회되는 영역에 최적

1명이 반응했습니다
|

댓글 5개

큰 커뮤니티 운영사이트에서는 유용하겠군요 참고하도록하겠습니다. 감사합니다.

감사합니다 ^^

감사합니다 

안그래도 캐시최적화관련 이슈가 좀 있었는데..
감사합니다.

댓글을 작성하시려면 로그인이 필요합니다.

그누보드5 팁자료실

+
제목 글쓴이 날짜 조회
4개월 전 조회 803
4개월 전 조회 516
4개월 전 조회 526
4개월 전 조회 566
4개월 전 조회 420
4개월 전 조회 571
4개월 전 조회 564
4개월 전 조회 558
4개월 전 조회 523
4개월 전 조회 527
4개월 전 조회 416
4개월 전 조회 474
4개월 전 조회 423
4개월 전 조회 386
4개월 전 조회 572
4개월 전 조회 401
4개월 전 조회 470
4개월 전 조회 474
4개월 전 조회 611
4개월 전 조회 485
4개월 전 조회 486
4개월 전 조회 452
5개월 전 조회 668
5개월 전 조회 826
5개월 전 조회 924
5개월 전 조회 599
5개월 전 조회 753
5개월 전 조회 539
5개월 전 조회 655
5개월 전 조회 791