워드프레스는 _transient라는 DB 항목을 사용하여 특정 데이터를 캐싱합니다. 캐싱되는 항목은 기본적으로 RSS 정보, Cron이 마지막으로 실행될 때 등에 대한 것이라고 합니다. 하지만 WordPress의 버그인지, 아니면 특정 플러그인으로 인한 것인지 캐시된 정보가 지정된 만료 시간이 지나도 지워지지 않고 wp_options 내에서 _transient_dash_, _transient_timeout_feed_, _site_transient_theme_ 등의 항목들이 쌓이는 문제가 발생하기도 합니다.
이런 문제가 이 글에서 다루어지고 있습니다. 이 글에 나와 있는 코드를 테마의 함수 파일에 추가하면 문제가 해결될 것입니다.
DB에서 제어하는 방법도 있습니다. 먼저 DB 관련 작업을 할 경우에는 백업이 필수입니다. DB를 백업한 후에 다음 쿼리를 시도해보시기 바랍니다.
SELECT option_name FROM wp_options WHERE option_name LIKE '_transient_timeout%' AND option_value < now();
wp_options는 설치된 워드프레스에서 기본 Prefix를 사용하지 않는 경우에는 절절히 수정하시기 바랍니다.
참고로 위의 쿼리를 실행하려면 phpMyAdmin에 접속하여 SQL 탭에서 위의 쿼리를 실행하도록 합니다(백업 필수!!!).
위의 쿼리를 실행하면 만료된 transient 항목이 모두 표시될 것입니다.
댓글 남기기