대표적인 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는 모든 변경 사항을 기록하여 데이터 유실을 최소화함
✅ 둘 다 활성화하면 속도와 안정성을 모두 확보 가능! 🚀
오늘은 AI 생태계에 혁신적인 변화를 가져올 것으로 예상되는 MCP(Model Context Protocol)에 대해 상세히 알아보겠습니다. 2024년…
1. TPM이란? TPM(Trusted Platform Module)은 국제 표준 기반의 보안 하드웨어 칩으로, 컴퓨터나 디지털 장비 내에서…
시즌2, 기대했는데... 실망도 두 배!두뇌싸움을 기대했는데, 전략도 없는 자기들만의 감정에 따른 편가르기, 정치싸움이 되어 버린…
BPF(Berkeley Packet Filter) 도어는 해커가 관리자 몰래 뒷문을 새로 만든 것입니다.해커가 명령을 내려 특정 데이터들을 뒷문을…
1. IPC의 개념과 목적 1.1 IPC란 무엇인가? IPC (Inter-Process Communication)는 운영체제 내의 서로 독립적인 프로세스…