반응형
AWS의 Redis Cluster에서 생성된 데이터를 저장 및 불러오기를 통하여
백업하는 방법을 Python으로 실행하는 코드 예제를 간단히 다루어보도록 하겠습니다.
여기서는 pickle 파일을 통하여 백업 파일을 전달하는 예시를 다루겠습니다.
Redis Cluster 데이터 저장하기
Redis URL A에 있는 redis 내 정보를 pickle 파일로 저장하는 예시 코드는 다음과 같습니다.
from redis.cluster import RedisCluster
import pickle
rc = RedisCluster.from_url(
"Redis URL A"
)
data = {}
keys = rc.keys("*")
for key in keys:
data[key] = rc.hgetall(key)
with open("redis_backup.pkl", "wb") as f:
pickle.dump(data, f)
Redis URL A의 데이터베이스에 저장된 정보들이 redis_backup.pkl 파일 내에
모두 저장되었습니다.
Redis Cluster 데이터 불러오기
이번엔 위에서 저장한 pickle 파일의 정보를 다른 Redis URL B에 dump하는 방법의
코드 스니펫을 살펴보도록 하겠습니다.
from redis.cluster import RedisCluster
import pickle
with open("redis_backup.pkl", "rb") as f:
data = pickle.load(f)
rc = RedisCluster.from_url(
"Redis URL B"
)
for hash_key in data.keys():
for key, value in data[hash_key].items():
rc.hset(hash_key, key, value)
위의 과정을 거치면 Redis URL B의 데이터베이스에 정보 백업이 가능합니다.
참고로, 이는 Redis URL A와 Redis URL B가 다른 계정에서 생성된 것이더라도 가능하니
유용하게 활용이 가능합니다.
'Infra > AWS' 카테고리의 다른 글
[AWS] Lambda와 EventBridge 조합으로 일정 시간마다 함수 호출 예제 (0) | 2024.12.12 |
---|---|
AWS STS 인증 과정 자동화 방법(리눅스 기준) (0) | 2023.11.20 |