2023. 3. 21. 22:01ㆍit
0. 서론
Redis는 기본적으로 메모리 내에 데이터를 저장하는 인메모리 데이터베이스 이다.
근데, 메모리에만 데이터를 저장하니, 데이터가 비정상 종료 및 재부팅 시 날라가는 특징이 있다.
그래서 redis에서는 메모리에 저장된 데이터를 디스크로 저장하는 방법을 제공한다.
1. 방법
RDB(Redis DataBase) : Redis 데이터베이스의 스냅샷을 저장하는 방식이 있다.
스냅샷 파일의 이름은 "dump.rdb"로 고정되고, 대규모 데이터를 다룰 때 매우 효율적이다.
스냅샷은 Redis 서버의 메모리 내용을 그대로 디스크에 저장해, 빠르고 경제적인 방법이다.
하지만 스냅샷 주기를 길게 설정하면 데이터 손실 가능성이 높아지며, 짧게 설정하면 성능에 영향을 미친다.
AOF(Append Only File) : Redis의 모든 쓰기 작업을 기록하는 로그 파일 저장 방식이다.
Redis 서버는 모든 쓰기 작업을 AOF 파일에 기록하고, 서버가 시작될 때 AOF 파일을 읽어 메모리에 로드한다.
AOF 방식은 스냅샷 방식보다는 느리지만 데이터의 안정성이 높다.
AOF 파일이 크기 때문에 Redis 서버가 부하가 높을 수 있지만, 모든 쓰기 작업을 기록하므로 데이터의 안정성이 높다.
2. AOF(Append Only File) 설정 방법
2-1. redis 구성 파일을 연다.
sudo vi /etc/redis/redis.conf
2-2. AOF 관련 경로 설정을 변경
# Append only mode is disabled by default.
appendonly yes
appendonly no -> appendonly yes : AOF를 사용하도록 설정
2-3. AOF 관련 파일 경로 설정을 변경
# The name of the append only file (default: "appendonly.aof")
# appendfilename appendonly.aof
# Specify a specific AOF file (in the data directory) for persistence.
# Note that the filename must always end in .aof
appendfilename appendonly.aof : AOF 파일의 이름을 변경하고 싶은 경우 사용
2-4. redis 재시작
sudo systemctl restart redis
3. RDB
3-1. redis 구성 파일
sudo vi /etc/redis/redis.conf
3-2. redis 설정 변경
save 900 1
이 줄은 900초(15분)마다 데이터베이스가 변경되었을 때 RDB 스냅샷을 저장
save 60 10
60초마다 데이터베이스가 변경되었을 때 RDB 스냅샷을 저장하고 10개의 변경 되면 저장
3-3. RDB 파일이 저장되는 경로
dir /var/lib/redis
3-4. redis 재시작
sudo systemctl restart redis-server
이렇게 설정을 하면, 메모리 데이터를 디스크로 저장이 가능합니다.
'it' 카테고리의 다른 글
PYTHON 정규식 문법 및 예제 ( 전화번호, 이메일, 숫자 출력, 공백 제거, URL 출력, 주민 번호 패턴 찾기 ) (0) | 2023.03.25 |
---|---|
Python 웹(frontend) 만들기 ( with pynecone ) (0) | 2023.03.23 |
REDIS로 IOT 데이터 처리 및 관리- ( XRANGE ) (0) | 2023.03.20 |
Kafka 로그(log) 관리 방법 및 설정 (0) | 2023.03.19 |
How to query Redis Sorted Set value range with Python (with zrange)? (0) | 2023.03.17 |