Redis 메모리 확인하고 관리하는 명령어와 데이터 영구 저장 및 백업
Redis 데이터를 확인하고 관리하는 방법에는 몇 가지가 있습니다. Redis는 기본적으로 커맨드라인 인터페이스인 redis-cli
를 제공하여 데이터를 직접 쿼리하고 조작할 수 있게 해줍니다. 또한, 웹 기반 UI를 통해 보다 시각적으로 데이터를 관리하고 모니터링할 수 있는 도구들도 존재합니다. 여기에 몇 가지 인기 있는 옵션을 소개합니다.
- Redis-cli
Redis 서버에 직접 연결하여 데이터를 조회하고 관리할 수 있는 커맨드라인 도구입니다. 예를 들어, 모든 키를 조회하려면KEYS *
커맨드를 사용할 수 있습니다. 특정 키의 값을 확인하려면GET keyname
을 사용합니다. - RedisInsight
Redis Labs에서 제공하는 공식 Redis 관리 도구입니다. 이 툴은 사용자가 Redis 인스턴스를 시각적으로 모니터링하고 관리할 수 있게 해주며, 다양한 데이터 구조를 쉽게 조회하고 수정할 수 있는 기능을 제공합니다. RedisInsight는 무료로 사용할 수 있으며, 로컬 머신이나 서버에 설치하여 사용할 수 있습니다. - Redsmin
웹 기반의 Redis 관리 서비스로, 실시간으로 Redis 데이터베이스를 모니터링하고 관리할 수 있습니다. Redsmin은 다양한 Redis 버전과 호환되며, 보안을 강화한 접근 방법을 제공합니다. - RDM (Redis Desktop Manager)
이 도구는 데스크톱 기반의 Redis 클라이언트로, MacOS, Windows, 그리고 Linux에서 사용할 수 있습니다. RDM을 사용하면 Redis 데이터를 GUI를 통해 쉽게 조회하고 관리할 수 있습니다.
이러한 도구들을 사용하면 Redis 데이터베이스의 내용을 보다 편리하게 조회하고 관리할 수 있습니다. 사용 환경과 필요에 따라 적합한 도구를 선택하여 사용하세요.
Redis는 기본적으로 메모리 내 데이터베이스이지만, 설정에 따라 디스크에 데이터를 영구적으로 저장할 수 있습니다. 이를 위해 Redis는 두 가지 주요 방법을 제공합니다: RDB (Redis Database backups) 와 AOF (Append Only File) 입니다.
- RDB (Redis Database backups)
RDB는 특정 시간 간격으로 메모리 내 데이터의 스냅샷을 생성하여 디스크에 저장합니다. 이 스냅샷은 Redis 서버가 재시작될 때 로드되어 데이터를 복구하는 데 사용됩니다. RDB는 데이터 복구 속도가 빠른 반면, 설정된 시간 간격 사이에 발생한 데이터는 재시작 시 복구되지 않을 수 있습니다. - 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의 데이터 지속성을 효과적으로 관리할 수 있습니다.