대표적인 NoSQL DB인 Redis(레디스)는 Remote Dictionary Server의 약자로, 오픈 소스 인메모리 키-값 저장소(key-value store)입니다. 주로 캐싱, 세션 저장, 메시지 브로커, 실시간 데이터 처리 등에 사용됩니다.
MULTI
, EXEC
, WATCH
명령어를 이용한 트랜잭션 제공✅ 웹 애플리케이션 캐싱
✅ 세션 저장소 (ex: 로그인 세션 관리)
✅ 순위표 및 랭킹 시스템 (ex: 게임 리더보드)
✅ 실시간 데이터 스트리밍 (ex: 채팅, 알림 시스템)
✅ 메시지 큐 및 Pub/Sub 시스템 (ex: 마이크로서비스 간 통신)
항목 | Redis | Memcached |
---|---|---|
데이터 구조 | 다양한 자료구조 지원 (String, List, Hash, Set, Sorted Set) | 단순 Key-Value (String) |
데이터 영속성 | 지원 (AOF, RDB) | 미지원 |
복제 및 클러스터링 | 지원 | 미지원 |
트랜잭션 | 지원 | 미지원 |
속도 | 빠름 | 더 빠름 (하지만 기능이 제한적) |
sudo apt update
sudo apt install redis-server
redis-server
redis-cli
SET key1 "Hello Redis" # 데이터 저장
GET key1 # 데이터 조회
DEL key1 # 데이터 삭제
EXPIRE key1 10 # 10초 후 데이터 자동 삭제
INCR counter # 숫자 증가
LPUSH mylist "A" "B" # 리스트에 값 추가
LRANGE mylist 0 -1 # 리스트 값 조회
Redis는 빠른 속도, 다양한 데이터 구조, 영속성 지원, 메시지 브로커 기능 등을 제공하여 웹 서비스, 캐싱, 실시간 데이터 처리에 널리 사용됩니다.
사용 목적에 따라 캐시, 데이터 저장소, 메시지 큐 등으로 활용할 수 있습니다. 🚀
Redis는 RAM에 저장하는데, 껐다 켜면 데이터가 사라질까?
기본적으로 Redis는 데이터를 RAM(메모리)에 저장하므로, 서버를 껐다 켜면 데이터가 사라질 수 있습니다. 하지만 Redis는 데이터를 유지하기 위한 영속성(Persistence) 기능을 제공하여, 껐다 켜도 데이터를 복구할 수 있습니다.
1️⃣ RDB (Redis Database File) – 스냅샷 저장
.rdb
파일을 만들어서 저장 (기본 경로: /var/lib/redis/dump.rdb
)2️⃣ AOF (Append-Only File) – 변경 로그 저장
3️⃣ RDB + AOF 동시 사용
Redis 설정 파일(redis.conf
)에서 다음 옵션을 조정하면 RDB 스냅샷 저장 주기를 변경할 수 있음.
save 900 1 # 900초(15분) 동안 1번이라도 변경되면 저장
save 300 10 # 300초(5분) 동안 10번 변경되면 저장
save 60 1000 # 60초(1분) 동안 1000번 변경되면 저장
기본적으로 활성화됨
SAVE
명령어를 사용하여 즉시 저장 가능 (SAVE
는 동기식,BGSAVE
는 비동기식)
AOF를 활성화하려면 redis.conf
에서 다음 설정을 변경
appendonly yes # AOF 활성화
appendfilename "appendonly.aof" # AOF 파일명 설정
AOF 모드는 성능과 안정성을 조절할 수 있음:
appendfsync always # 매번 쓰기(느리지만 안전)
appendfsync everysec # 1초마다 쓰기(기본값, 균형 잡힌 선택)
appendfsync no # OS가 알아서 처리(빠르지만 데이터 손실 가능)
Redis CLI에서 설정 확인 가능
CONFIG GET save
CONFIG GET appendonly
💡 Redis는 기본적으로 데이터를 RAM에 저장하므로 전원을 끄면 데이터가 사라질 수 있지만, RDB 또는 AOF 기능을 사용하면 데이터를 유지할 수 있습니다.
✅ RDB는 주기적으로 저장하며 빠름, AOF는 모든 변경 사항을 기록하여 데이터 유실을 최소화함
✅ 둘 다 활성화하면 속도와 안정성을 모두 확보 가능! 🚀
윈도우 운영체제의 노트북에서는 iPhone 유선 테더링이 잘 안되는 경우가 많습니다. 보통 iPhone의 드라이버가 설치가 안되있어서인…
안녕하세요, 혹시 이런 생각해 본 적 없으신가요? "내가 투자한 회사는 누가 감시하고, 어떻게 운영될까?" 오늘은…
1. Gemini CLI란 무엇인가요? Gemini CLI는 터미널 환경에서 직접 Gemini 모델과 상호작용할 수 있도록 만들어진…
과적합은 머신러닝에서 학습용데이터를 과하게 학습하여, 실제데이터를 예측하지 못하는 현상을 말합니다. 인공지능(AI)의 학습 방법은 우리가 시험공부를…