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

· 3개월 전 · 435 · 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 팁자료실

+
제목 글쓴이 날짜 조회
3개월 전 조회 600
3개월 전 조회 349
3개월 전 조회 376
3개월 전 조회 399
3개월 전 조회 257
3개월 전 조회 416
3개월 전 조회 409
3개월 전 조회 401
3개월 전 조회 365
3개월 전 조회 337
3개월 전 조회 277
3개월 전 조회 317
3개월 전 조회 283
3개월 전 조회 248
3개월 전 조회 436
3개월 전 조회 254
3개월 전 조회 332
3개월 전 조회 338
4개월 전 조회 474
4개월 전 조회 380
4개월 전 조회 373
4개월 전 조회 342
4개월 전 조회 560
4개월 전 조회 664
4개월 전 조회 785
4개월 전 조회 481
4개월 전 조회 617
4개월 전 조회 418
4개월 전 조회 541
4개월 전 조회 682