본문 바로가기

Redis 메모리 확인하고 관리하는 명령어와 데이터 영구 저장 및 백업

Durable Redis Persistence Storage - Redis Enterprise

Redis 데이터를 확인하고 관리하는 방법에는 몇 가지가 있습니다. Redis는 기본적으로 커맨드라인 인터페이스인 redis-cli를 제공하여 데이터를 직접 쿼리하고 조작할 수 있게 해줍니다. 또한, 웹 기반 UI를 통해 보다 시각적으로 데이터를 관리하고 모니터링할 수 있는 도구들도 존재합니다. 여기에 몇 가지 인기 있는 옵션을 소개합니다.

  1. Redis-cli
    Redis 서버에 직접 연결하여 데이터를 조회하고 관리할 수 있는 커맨드라인 도구입니다. 예를 들어, 모든 키를 조회하려면 KEYS * 커맨드를 사용할 수 있습니다. 특정 키의 값을 확인하려면 GET keyname을 사용합니다.
  2. RedisInsight
    Redis Labs에서 제공하는 공식 Redis 관리 도구입니다. 이 툴은 사용자가 Redis 인스턴스를 시각적으로 모니터링하고 관리할 수 있게 해주며, 다양한 데이터 구조를 쉽게 조회하고 수정할 수 있는 기능을 제공합니다. RedisInsight는 무료로 사용할 수 있으며, 로컬 머신이나 서버에 설치하여 사용할 수 있습니다.
  3. Redsmin
    웹 기반의 Redis 관리 서비스로, 실시간으로 Redis 데이터베이스를 모니터링하고 관리할 수 있습니다. Redsmin은 다양한 Redis 버전과 호환되며, 보안을 강화한 접근 방법을 제공합니다.
  4. RDM (Redis Desktop Manager)
    이 도구는 데스크톱 기반의 Redis 클라이언트로, MacOS, Windows, 그리고 Linux에서 사용할 수 있습니다. RDM을 사용하면 Redis 데이터를 GUI를 통해 쉽게 조회하고 관리할 수 있습니다.

이러한 도구들을 사용하면 Redis 데이터베이스의 내용을 보다 편리하게 조회하고 관리할 수 있습니다. 사용 환경과 필요에 따라 적합한 도구를 선택하여 사용하세요.

 

Redis는 기본적으로 메모리 내 데이터베이스이지만, 설정에 따라 디스크에 데이터를 영구적으로 저장할 수 있습니다. 이를 위해 Redis는 두 가지 주요 방법을 제공합니다: RDB (Redis Database backups)AOF (Append Only File) 입니다.

  1. RDB (Redis Database backups)
    RDB는 특정 시간 간격으로 메모리 내 데이터의 스냅샷을 생성하여 디스크에 저장합니다. 이 스냅샷은 Redis 서버가 재시작될 때 로드되어 데이터를 복구하는 데 사용됩니다. RDB는 데이터 복구 속도가 빠른 반면, 설정된 시간 간격 사이에 발생한 데이터는 재시작 시 복구되지 않을 수 있습니다.
  2. AOF (Append Only File)
    AOF 방식은 Redis의 모든 쓰기 연산을 디스크에 로그 형태로 기록합니다. 서버가 재시작될 때, AOF 파일에 기록된 명령어들이 순차적으로 재실행되어 데이터를 복구합니다. AOF는 데이터 무결성이 더 높으며, 최신 상태를 유지하지만 파일 크기가 커질 수 있고, RDB에 비해 복구 시간이 더 길어질 수 있습니다.

Redis 설정에서는 RDB와 AOF 중 하나를 선택하거나, 두 방법을 모두 사용하여 데이터의 안정성을 높일 수 있습니다. 두 방법을 동시에 사용할 경우, AOF가 우선적으로 데이터 복구에 사용됩니다. Redis 설정 파일에서 이러한 옵션들을 세부적으로 조정할 수 있습니다. Redis의 RDB와 AOF 설정은 redis.conf 파일을 통해 이루어집니다. 이 파일에서 다양한 설정을 조정하여 Redis의 데이터 지속성을 관리할 수 있습니다.

RDB 설정

RDB는 정기적으로 전체 데이터 스냅샷을 디스크에 저장하는 방법입니다. 주요 설정은 다음과 같습니다.

  • save <seconds> <changes>
    이 설정은 Redis가 <changes> 개의 키 변경이 <seconds> 초 안에 발생하면 자동으로 데이터 스냅샷을 디스크에 저장하도록 합니다. 예를 들어, save 900 1은 900초(15분) 동안 최소 1번의 변경이 발생하면 스냅샷을 저장합니다. 여러 줄로 다른 조건을 추가할 수 있습니다.
  • stop-writes-on-bgsave-error yes
    백그라운드 저장 작업 중 에러가 발생할 경우, 추가 쓰기 작업을 중지할지 여부를 설정합니다.
  • rdbcompression yes
    RDB 파일을 저장할 때 압축을 사용할지 여부를 설정합니다.
  • rdbchecksum yes
    RDB 파일 저장시 체크섬을 계산하여 데이터 무결성을 보장할지 결정합니다.
  • dbfilename dump.rdb
    RDB 파일의 이름을 설정합니다.
  • dir ./
    RDB 파일이 저장될 디렉토리를 설정합니다.

예시 설정은 다음과 같습니다.

save 900 1
save 300 10
save 60 10000
rdbcompression yes
rdbchecksum yes
dbfilename dump.rdb
dir /var/lib/redis

AOF 설정

AOF는 모든 쓰기 연산을 로그 형태로 파일에 기록하는 방법입니다. AOF 설정은 다음과 같습니다.

  • appendonly yes
    AOF 기능을 활성화합니다. 기본값은 no입니다.
  • appendfilename "appendonly.aof"
    AOF 파일의 이름을 설정합니다.
  • appendfsync everysec
    디스크에 AOF 버퍼를 얼마나 자주 동기화할지 설정합니다. 옵션은 always, everysec, no가 있습니다. everysec는 성능과 데이터 무결성 사이의 균형을 제공합니다.
  • no-appendfsync-on-rewrite no
    AOF 파일 재작성 시 동기화를 수행하지 않을지 설정합니다.
  • auto-aof-rewrite-percentage 100
    AOF 파일 크기가 마지막 AOF 재작성 이후 지정된 백분율만큼 증가하면 자동으로 재작성합니다.
  • auto-aof-rewrite-min-size 64mb
    AOF 재작성이 발생할 최소 파일 크기를 설정합니다.

예시 설정은 다음과 같습니다.

appendonly yes
appendfilename "appendonly.aof"
appendfsync everysec
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb

이러한 설정을 redis.conf 파일에 추가하거나 수정한 후 Redis 서버를 재시작하면 새 설정이 적용됩니다. 설정 변경을 통해 Redis의 데이터 지속성을 효과적으로 관리할 수 있습니다.

728x90

댓글