Redis 인터뷰 질문 및 답변 상위 10개(2025)

꿈의 직업을 얻기 위한 신입 지원자와 숙련된 지원자를 위한 Redis 인터뷰 질문과 답변은 다음과 같습니다.

1) 레디스란 무엇인가?

Redis는 고급 키-값 데이터 저장소 및 캐시입니다. 키에는 문자열뿐만 아니라 해시, 세트, ​​목록 및 정렬된 세트도 포함되므로 데이터 구조 서버라고도 합니다. Redis를 사용하는 기업으로는 StackOverflow, Twitter, Github 등이 있습니다.

무료 PDF 다운로드: Redis Cache 인터뷰 질문 및 답변


2) Redis의 복제 기능에 대해 설명해주세요.

Redis는 간단한 마스터-슬레이브 복제를 지원합니다. 관계가 성립되면 마스터의 데이터가 슬레이브로 전송됩니다. 이 작업이 완료되면 마스터에 대한 모든 변경 사항이 슬레이브에 복제됩니다.

3) Memcached와 Redis의 차이점은 무엇입니까?

Redis Memcached
  • Redis는 정보를 캐시하지만 지속성 및 복제와 같은 추가 기능도 제공합니다.
  • Redis는 LRU(최근에 사용됨) 값 제거 기능을 지원하지 않습니다.
  • Redis에서는 메모리가 가득 차면 모든 항목에 대해 시간 초과를 설정할 수 있습니다. 그러면 세 개의 무작위 키를 살펴보고 만료에 가장 가까운 키를 삭제합니다.
  • Redis는 CAS(Check and Set)를 지원하지 않습니다. 캐시 일관성을 유지하는 데 유용합니다.
  • Redis는 더 강력한 데이터 구조를 가지고 있습니다. 문자열, 바이너리 안전 문자열, 바이너리 안전 문자열 목록, 정렬된 목록 등을 처리할 수 있습니다.
  • Redis의 키 길이는 최대 2GB였습니다.
  • Redis는 단일 스레드입니다.
  •  Memcached 전용 캐시 정보입니다.
  • Memcached는 LRU(최근에 사용됨) 값 제거 기능을 지원합니다.
  • Memcached에서 메모리가 오버플로되면 최근에 사용하지 않은 것(LRU- 최근에 가장 적게 사용된 것)이 삭제됩니다.
  • Memcached는 CAS(Check and Set)를 지원합니다.
  • Memcached에서는 객체나 배열을 저장하기 위해 직렬화해야 하고, 다시 읽으려면 직렬화를 취소해야 합니다.
  • Memcached의 최대 길이는 250바이트였습니다.
  • Memcached는 멀티스레드입니다.

4) Redis를 사용하면 어떤 이점이 있나요?

Redis 사용의 장점은
  • 빠른 속도를 제공합니다
  • 서버측 잠금을 지원합니다.
  • 클라이언트 라이브러리가 많이 있습니다.
  • 명령 수준 Atomic Operation(tx 작업)이 있습니다.

5) Redis의 한계는 무엇입니까?

  • 단일 스레드입니다.
  • 일관된 해싱에 대한 클라이언트 지원이 제한되어 있습니다.
  • 지속성에 대한 상당한 오버헤드가 있습니다.
  • 널리 배포되지는 않음
Redis 인터뷰 질문
Redis 인터뷰 질문

6) Redis의 작동 키를 나열해 볼까요?

Redis의 작동 키에는 다음이 포함됩니다.
  • 유형 키
  • TTL 키
  • 키 패턴
  • EXPIRE 키초
  • EXPIREAT 키 타임스탬프
  • 존재 키
  • DEL 키

7) Redis와 함께 사용할 수 있는 PHP 모듈은 무엇입니까?

PHP 모듈에서는 Redid PHP 바인딩이나 Resident보다 PRedis가 더 선호됩니다.

8) Redis는 속도와 내구성을 모두 제공합니까?

아니요, Redis는 속도를 향상시키기 위해 의도적으로 내구성을 타협합니다. Redis에서는 시스템 오류나 충돌이 발생하는 경우 Redis가 디스크에 쓰지만 뒤쳐져 저장되지 않은 데이터가 손실될 수 있습니다.
Redis 캐시 인터뷰 질문
Redis 캐시 인터뷰 질문

9) Redis의 내구성을 어떻게 향상시킬 수 있나요?

Redis의 내구성을 향상시키기 위해 "파일만 추가" 디스크의 fsync 데이터를 사용하여 구성할 수 있습니다.
  • 추가 로그 파일에 새 명령이 추가될 때마다 Fsync(): 안전하지만 매우 느립니다.
  • 매초마다 한 번씩 Fysnc(): 빠르지만 시스템이 실패하면 1초의 데이터가 손실될 수 있습니다.
  • fsync()를 사용하지 마세요. 이는 안전하지 않은 방법이며 귀하의 데이터는 다른 사람의 손에 있습니다. 운영체제

10) Redis를 사용하면서 주의해야 할 점은 무엇인지 언급해주세요.

Redis를 사용하는 동안 주의해야 할 사항은 다음과 같습니다.
  • 키의 이름과 접두어를 지정하는 일관된 방법을 선택하세요. 네임스페이스 관리
  • 각 내부 문서를 "소유"하는 애플리케이션에 매핑하는 키 접두사의 "레지스트리"를 만듭니다.
  • Redis 인프라에 적용하는 모든 클래스에 대해: 가비지 수집 또는 아카이브 스토리지로의 데이터 마이그레이션을 위한 메커니즘을 설계, 구현 및 테스트합니다.
  • 애플리케이션 배포에 많은 투자를 하기 전에 샤딩 라이브러리를 설계, 구현 및 테스트하고 각 서버에 복제된 "샤드" 레지스트리를 유지하는지 확인하세요.
  • 모든 K/V 스토어 및 관련 작업을 자체 라이브러리/API 또는 서비스로 분리하세요.
이 인터뷰 질문은 당신의 비바(구술)에도 도움이 될 것입니다.
공유

댓글 2

  1. 화신 키스 W. 말한다 :

    7번과 10번 질문은 중복됩니다. 아마도 질문 중 하나는 Redis의 잠재적인 사용 사례에 관한 것일 수 있습니다.

    1. 화신 Guru99 말한다 :

      오류가 수정되었습니다! 이 점을 알려주셔서 감사합니다.

댓글을 남겨주세요.

귀하의 이메일 주소는 공개되지 않습니다. *표시항목은 꼭 기재해 주세요. *