본문 바로가기
Q&A2025년 3월 16일1분 읽기

GitHub Actions 캐시로 빌드 시간 줄이기

한
한동욱
조회 769댓글 3

GitHub Actions 캐시로 빌드 시간 줄이기 관련 질문입니다.

Redis 서버 메모리가 계속 증가하고 있습니다:

$ redis-cli info memory
used_memory_human:3.8G
used_memory_peak_human:4.1G
maxmemory_human:4G

TTL을 설정했는데도 메모리가 줄지 않습니다. eviction policy는 어떻게 설정해야 하나요?

댓글 3

김김영삼1년 전

TTL이 설정되어 있어도 만료된 키는 접근할 때 삭제됩니다(lazy deletion). 능동적 정리가 필요합니다:

# 1. maxmemory-policy 설정 (redis.conf)
maxmemory 4gb
maxmemory-policy allkeys-lru # LRU 방식으로 오래된 키 제거

# 2. 큰 키 찾기
redis-cli --bigkeys

# 3. 메모리 상세 분석
redis-cli memory doctor
redis-cli memory stats

보통 원인은 TTL 없이 저장된 키가 쌓이는 것입니다. allkeys-lru 정책을 설정하면 메모리 한도 도달 시 자동으로 오래된 키를 제거합니다.

한한동욱(guest)1년 전
Docker 빌드도 캐시할 수 있나요?
김김영삼1년 전

네, docker/build-push-action에서 cache-from, cache-to를 사용하세요: cache-from: type=gha, cache-to: type=gha,mode=max. GitHub Actions 캐시를 Docker 빌드 레이어 캐시로 활용하여 빌드 시간이 크게 줄어듭니다.

Ctrl+Enter로 등록