캐시 지우는 코드 완벽 정리 방법과 예제

캐시 지우기 코드의 이해

캐시는 시스템 성능을 높이기 위해 데이터를 임시로 저장하는 공간입니다. 웹 브라우저, 운영체제, 애플리케이션, CDN 등 다양한 환경에서 캐시가 사용됩니다. 하지만 시간이 지나면 캐시가 쌓여 오히려 성능 저하나 오작동을 유발할 수 있습니다. 이런 문제를 해결하기 위해 캐시를 주기적으로 지워야 하며, 이를 자동화하는 코드를 작성하는 일이 중요합니다. 이 글에서는 리눅스, 윈도우, 웹 브라우저, 모바일, 그리고 CDN 환경에서 캐시를 지우는 다양한 코드와 명령어를 완벽하게 정리합니다. 각 방법은 실제 운영 환경에서 검증된 내용이며, 필요에 따라 스크립트로 만들어 자동 실행할 수 있습니다.

리눅스 커널 캐시 지우기

리눅스 운영체제는 파일 시스템의 페이지 캐시, 디렉터리 엔트리, inode 등을 메모리에 저장합니다. 이 캐시를 수동으로 비우려면 root 권한으로 간단한 echo 명령을 사용합니다. 가장 일반적인 방법은 /proc/sys/vm/drop_caches 파일에 3을 쓰는 것입니다. 이 명령은 페이지 캐시, dentries, inodes를 모두 정리합니다.

다음 명령을 터미널에 입력하면 즉시 캐시가 해제됩니다.

echo 3 > /proc/sys/vm/drop_caches

단, 운영 중인 서비스에 영향을 줄 수 있으므로 주의해야 합니다. 이 방법은 리눅스 커널 공식 문서에서도 권장하는 표준 방법입니다. 더 자세한 내용은 리눅스 커널 문서를 참고하세요.

캐시 지우는 코드 완벽 정리 방법과 예제 - 1

리눅스 자동화 스크립트

매일 또는 특정 시간에 캐시를 자동으로 지우려면 Bash 스크립트를 작성하고 cron 작업에 등록합니다. 다음은 기본적인 스크립트 예제입니다.

#!/bin/bash
echo 3 > /proc/sys/vm/drop_caches

이 스크립트를 cache_clean.sh 파일로 저장한 후 실행 권한을 부여합니다.

chmod a+x cache_clean.sh

그리고 crontab에 다음 줄을 추가하여 원하는 주기로 실행합니다. 예를 들어 매일 새벽 3시에 실행하려면 다음과 같이 설정합니다.

0 3 * * * /path/to/cache_clean.sh

이렇게 하면 시스템 캐시가 자동으로 관리됩니다. 브라질 사이트 Viva o Linux에서도 이와 같은 스크립트를 소개한 바 있습니다.

캐시 지우는 코드 완벽 정리 방법과 예제 - 2

윈도우 시스템 캐시 및 임시 파일 삭제

윈도우 환경에서는 명령 프롬프트나 PowerShell을 사용하여 시스템 임시 폴더와 Windows Update 캐시를 정리할 수 있습니다. 대표적인 명령어는 del 명령으로 특정 폴더 내 모든 파일을 삭제하는 것입니다. 단, 관리자 권한으로 실행해야 합니다.

다음은 시스템 임시 폴더를 비우는 명령입니다.

del /s /q %systemroot%\Temp\*.*

Windows Update 캐시를 삭제하려면 SoftwareDistribution 폴더를 정리합니다.

net stop wuauserv
del /s /q %windir%\SoftwareDistribution\Download\*.*
net start wuauserv

이 과정을 스크립트 파일(.bat)로 만들어 두면 원클릭으로 실행할 수 있습니다. 자세한 스크립트 예제는 Procedimento.com.br에서 확인할 수 있습니다.

캐시 지우는 코드 완벽 정리 방법과 예제 - 3

웹 브라우저에서 캐시 지우기

웹 브라우저는 사용자가 방문한 사이트의 파일을 로컬에 저장합니다. Chrome에서는 다음과 같이 직접 UI를 통해 삭제할 수 있습니다.

크롬 브라우저 우측 상단의 점 세 개 메뉴를 클릭한 뒤 도구 더보기 > 인터넷 사용 기록 삭제로 이동합니다. 그다음 고급 탭에서 '캐시된 이미지 및 파일'을 선택하고 기간을 '전체'로 설정한 후 삭제합니다. 이 방법은 Google 공식 지원 문서에서 안내하는 방법입니다.

또한 자바스크립트 코드를 통해 서비스 워커가 관리하는 캐시를 프로그래밍 방식으로 지울 수도 있습니다. 서비스 워커의 Cache API를 사용하면 특정 캐시 이름을 지정하여 삭제할 수 있습니다.

caches.delete('my-cache-name').then(function(success) {
  if (success) console.log('캐시 삭제 성공');
});

이 코드는 브라우저의 개발자 콘솔에서 실행하거나 웹 애플리케이션의 로직에 포함시킬 수 있습니다. MDN Web Docs에 자세한 설명이 있습니다.

캐시 지우는 코드 완벽 정리 방법과 예제 - 4

Adobe AEM CDN 캐시 제거

Adobe Experience Manager의 CDN은 HTTP PURGE 메서드를 사용하여 캐시를 무효화할 수 있습니다. 요청 헤더에 X-AEM-Purge-Key를 포함시켜야 합니다. 예를 들어 다음과 같은 HTTP 요청을 보냅니다.

PURGE /content/page.html HTTP/1.1
Host: your-cdn-domain.com
X-AEM-Purge-Key: your-purge-key

이 명령은 curl을 사용하거나 직접 HTTP 클라이언트로 전송할 수 있습니다. Adobe 공식 문서에서도 이 방법을 자세히 설명하고 있습니다.

모바일 앱 캐시 지우기

삼성 갤럭시 스마트폰의 경우 각 앱별로 캐시를 삭제할 수 있습니다. 설정 > 애플리케이션 > 해당 앱 선택 > 저장공간 > 캐시 지우기를 순서대로 누르면 됩니다. 이는 삼성 공식 지원 페이지에서 확인할 수 있습니다. 앱에서 발생하는 오류를 해결하는 가장 쉬운 방법 중 하나입니다.

아래 표는 각 환경에서 캐시를 지우는 주요 방법을 비교한 것입니다.

캐시 지우는 코드 완벽 정리 방법과 예제 - 5
환경 명령어/방법 자동화 가능
리눅스 커널 캐시 echo 3 > /proc/sys/vm/drop_caches Bash 스크립트 + cron
윈도우 시스템 임시 파일 del /s /q %systemroot%\Temp\*.* .bat 파일 + 작업 스케줄러
웹 브라우저 (Chrome) UI: 설정 > 인터넷 사용 기록 삭제 자바스크립트 (Cache API)
Adobe AEM CDN HTTP PURGE 요청 curl 스크립트
모바일 (삼성 갤럭시) 설정 > 앱 > 저장공간 > 캐시 지우기 수동

캐시 정리 시 고려할 점

캐시를 지우면 일시적으로 성능이 저하될 수 있습니다. 특히 리눅스 커널 캐시를 자주 지우면 디스크 I/O가 증가합니다. 따라서 필요한 경우에만 사용하고, 자동화 스크립트를 작성할 때는 실행 시간을 유휴 시간대로 설정하는 것이 좋습니다. 윈도우에서는 시스템 파일을 삭제할 때 관리자 권한이 반드시 필요합니다. 웹 애플리케이션에서 서비스 워커 캐시를 지울 때는 사용자 동의 없이 삭제하지 않도록 주의해야 합니다. CDN의 PURGE 요청은 인증 키가 유출되지 않도록 안전하게 관리해야 합니다.

자주 사용하는 캐시 정리 명령어 목록

  • 리눅스: echo 3 > /proc/sys/vm/drop_caches
  • 리눅스 스크립트: #!/bin/bash; echo 3 > /proc/sys/vm/drop_caches
  • 윈도우 임시 파일: del /s /q %systemroot%\Temp\*.*
  • 윈도우 업데이트 캐시: net stop wuauserv && del /s /q %windir%\SoftwareDistribution\Download\*.* && net start wuauserv
  • 자바스크립트: caches.delete('cache-name')
  • HTTP PURGE: curl -X PURGE -H "X-AEM-Purge-Key: key" http://cdn.example.com/path

참고 자료

이 글에서 사용한 정보는 다음과 같은 공식 문서와 커뮤니티 자료를 바탕으로 작성되었습니다.

리눅스 커널 캐시 삭제: Linux Kernel Documentation - /proc/sys/vm/drop_caches. https://www.kernel.org/doc/html/latest/admin-guide/drop_caches.html

리눅스 스크립트 예제: Viva o Linux – Limpando cache de RAM. https://www.vivaolinux.com.br/dica/Limpando-sua-memoria-cache-de-forma-simples

윈도우 캐시 삭제 스크립트: Procedimento.com.br – Script para Limpeza de Cache no Windows. https://www.procedimento.com.br/?p=go&os=windows&windows=script-para-limpeza-de-cache-no-windows

웹 서비스 워커 Cache API: MDN Web Docs – Cache.delete(). https://developer.mozilla.org/en-US/docs/Web/API/Cache/delete

Adobe AEM CDN PURGE: Adobe Experience Manager – Purge Cache. https://experienceleague.adobe.com/pt-br/docs/experience-manager-learn/cloud-service/caching/how-to/purge-cache

Google Chrome 캐시 삭제: Google Help – Clear cache and cookies. https://support.google.com/accounts/answer/32050

삼성 갤럭시 앱 캐시: Samsung Support – Como limpar o cache e os dados de aplicativos em seu Galaxy. https://www.samsung.com/br/support/mobile-devices/como-limpar-o-cache-e-os-dados-de-aplicativos-em-seu-galaxy/

캐시 삭제 캐시 정리 코드 예제 브라우저 캐시 앱 개발 서버 관리
주의 환경에 따라 코드가 다를 수 있으니 적용 전 테스트가 필요합니다.
작성자

Stefano Barcellos

Visite Barbados 기여자.

« 이전 글
폴더 색상 바꾸는 방법 완벽 정리 초보자 가이드

관련 글