Symfony

캐시 및 성능

Cache pool, adapter, tag, 캐시 무효화, HTTP cache, ESI, Varnish 통합

20 면접 질문·
Mid-Level
1

Symfony는 PSR-6 캐시 시스템을 구현하기 위해 어떤 인터페이스를 사용하나요?

답변

Symfony는 CacheItemPoolInterface를 통해 PSR-6 표준을 구현합니다. 이 인터페이스는 캐시 항목을 관리하기 위한 getItem(), hasItem(), deleteItem(), save(), clear() 메서드를 정의합니다. Symfony의 Cache 컴포넌트는 이 인터페이스를 모두 구현하는 여러 adapter(Redis, Memcached, Filesystem 등)를 제공하여 다른 PSR-6 호환 PHP 라이브러리와의 상호 운용성을 보장합니다.

2

개발 환경을 위해 Symfony에 기본으로 설정된 캐시 adapter는 무엇인가요?

답변

개발 환경에서 Symfony는 기본적으로 캐시를 메모리에 저장하는 ArrayAdapter를 사용합니다. 이 캐시는 요청 간에 유지되지 않으므로 코드를 수정할 때 오래된 캐시 문제를 방지할 수 있어 개발에 이상적입니다. 프로덕션에서는 더 나은 성능을 위해 Redis나 Memcached와 같은 영속적인 adapter를 사용하는 것이 권장됩니다.

3

Symfony 설정에서 커스텀 cache pool을 어떻게 만드나요?

답변

커스텀 cache pool은 설정의 framework.cache.pools 키 아래에 정의합니다. 각 pool은 해당 adapter, 기본 수명(default_lifetime), 그리고 선택적으로 tags를 지정할 수 있습니다. 예를 들어 RedisAdapter를 사용하는 'app.cache.products' pool을 통해 제품 캐시를 다른 데이터와 독립적으로 관리할 수 있어 대상을 지정한 무효화가 쉬워집니다.

4

값이 없을 경우 계산용 callback과 함께 캐시에서 값을 가져오려면 어떤 메서드를 사용하나요?

5

Symfony에서 cache tags의 주요 장점은 무엇인가요?

+17 면접 질문

다음 면접을 위해 Symfony을 마스터하세요

모든 질문, flashcards, 기술 테스트, 코드 리뷰 연습, 면접 시뮬레이터에 접근하세요.

무료로 시작하기