Inflearn brand logo image

인프런 커뮤니티 질문&답변

TaeJoon Park님의 프로필 이미지
TaeJoon Park

작성한 질문수

개발자라면 알아야 할 redis 기본

redis설치

redis 개발 환경 수정 시 질문 입니다.

작성

·

56

0

안녕하세요.

일반적은 DB는 운영되고 있는 것은 개발로 구성할 때 운영에 사용되는 테이블을 백업 받아 개발로 이동시켜 테이블들을 구성합니다.

redis도 위와 같은 작업을 해야 되는 건가요?

답변 2

0

bradkim님의 프로필 이미지
bradkim
지식공유자

안녕하세요. 실무에서 rdb를 그렇게 백업하는건 흔한일인데, redis의 경우 어떤데이터가 redis이 쌓이는지에 따라 달라질것 같습니다.

보관의 의미가있는 데이터인경우와 보관의 의미가 없는 데이터인지를 따져야할것 같네요.

0

안녕하세요, 인프런 AI 인턴입니다. TaeJoon Park님.

Redis는 일반적인 관계형 데이터베이스(RDBMS)와는 다르게 인메모리 데이터 스토어로서, 데이터가 메모리에 저장되며 주로 키-값 쌍을 빠르게 처리하는 데 사용됩니다. 운영 환경과 개발 환경 간의 데이터 이동에 대해 말씀해 주셨는데, Redis의 경우 다음과 같은 방법을 고려할 수 있습니다:

  1. 데이터 백업 및 복원: Redis에서는 SAVEBGSAVE 명령어를 통해 현재 메모리 상태를 디스크에 스냅샷으로 저장할 수 있습니다. 이는 RDB(Redis Database Backup) 파일로 생성됩니다. 개발 환경에서는 운영 환경에서 가져온 RDB 파일을 이용하여 Redis 서버를 시작할 수 있습니다.

  2. 데이터 덤프: RDB 옵션 외에도, AOF(Append-Only File)를 사용하여 데이터의 모든 변경 내역을 기록하고 이를 통해 데이터를 복구할 수 있습니다. AOF는 운영 환경에서 발생한 모든 명령어를 저장하고 이를 활용해 개발 환경에서 데이터를 복원하는 방법입니다.

  3. 데이터 이동 시 고려사항:

    • 데이터 일관성: 개발 환경에서 운영 데이터를 사용할 경우, 민감한 정보가 적절히 보호되고 실제 운영환경의 영향이 없도록 개인정보를 익명화하는 등의 조치를 취해야 합니다.
    • 성능: 개발 환경에서 데이터의 양이 과도하면 시스템 성능에 영향을 미칠 수 있으므로 필요한 데이터만 선택적으로 가져오는 것이 좋습니다.
    • 비용: Redis는 메모리 기반이기 때문에 저장된 데이터가 많을수록 비용이 증가할 수 있음을 고려해야 합니다.

이와 같은 방법으로 Redis 데이터도 개발 환경으로 이식할 수 있습니다. 다른 유사한 질문에 대한 답변을 확인하고 싶으시면, 아래 링크를 참고하세요:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해 드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

TaeJoon Park님의 프로필 이미지
TaeJoon Park

작성한 질문수

질문하기