728x90
반응형
SMALL
1. Redis란 무엇인가?
Redis(REmote DIctionary Server)는 오픈 소스, 인메모리 데이터 저장소로 주로 캐싱, 세션 저장소, 메시지 큐 및 실시간 데이터 분석 등에 사용됩니다. 일반적인 RDBMS와 달리 데이터를 메모리에 저장하여 매우 빠른 속도로 읽고 쓸 수 있는 것이 가장 큰 특징입니다.
Redis의 주요 특징
- 인메모리 데이터 저장소: 모든 데이터를 RAM에 저장하여 빠른 데이터 접근이 가능
- Key-Value 구조: 다양한 데이터 타입(String, List, Set, Hash 등) 지원
- 퍼시스턴스(Persistence) 지원: AOF(Append Only File) 및 RDB(Snapshot) 방식으로 데이터를 디스크에 저장 가능
- 분산 처리 지원: 클러스터 모드 및 복제 기능 제공
- 다양한 언어 지원: Python, Java, JavaScript, C++, Go 등 여러 언어에서 사용 가능
2. Redis 설치 및 실행 (Ubuntu 기준)
1) Redis 설치
sudo apt update
sudo apt install redis-server -y
2) Redis 서비스 실행 및 자동 시작 설정
sudo systemctl enable redis
sudo systemctl start redis
3) Redis 실행 확인
redis-cli ping
출력 결과: PONG이 나오면 정상 실행된 것입니다.
3. Redis 기본 명령어
Redis는 CLI(Command Line Interface)에서 다양한 명령어를 사용할 수 있습니다.
1) 기본적인 Key-Value 저장 및 조회
redis-cli set mykey "Hello, Redis!"
redis-cli get mykey
출력 결과:
"Hello, Redis!"
2) 리스트(List) 다루기
redis-cli rpush mylist "Apple"
redis-cli rpush mylist "Banana"
redis-cli lrange mylist 0 -1
출력 결과:
1) "Apple"
2) "Banana"
3) 해시(Hash) 사용하기
redis-cli hset user:1001 name "Alice" age "25"
redis-cli hgetall user:1001
출력 결과:
1) "name"
2) "Alice"
3) "age"
4) "25"
4. Docker를 활용한 Redis 컨테이너 실행
Docker를 활용하면 Redis를 쉽게 컨테이너로 관리할 수 있습니다.
1) Redis 도커 컨테이너 실행
docker run --name redis-container -d -p 6379:6379 redis
위 명령어를 실행하면 Redis가 redis-container라는 이름으로 백그라운드에서 실행됩니다.
2) 실행 중인 Redis 컨테이너 확인
docker ps
출력 결과:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
xxxxxxxxxxxx redis "redis" 5 minutes ago Up 6379/tcp redis-container
3) Redis CLI 접속
docker exec -it redis-container redis-cli
위 명령어를 실행하면 Redis CLI에 접속하여 직접 명령어를 실행할 수 있습니다.
5. Redis를 어디에 활용할 수 있을까?
Redis는 다양한 분야에서 활용할 수 있습니다.
- 세션 관리: 로그인 세션을 관리하여 빠른 인증 처리 가능
- 캐싱 시스템: 자주 사용하는 데이터를 캐싱하여 속도 개선
- 메시지 큐: Pub/Sub 기능을 활용한 실시간 메시징 시스템
- 리더보드 시스템: 랭킹 시스템(게임, SNS 등)에 활용
- IoT 및 실시간 데이터 처리: 빠른 데이터 저장 및 분석 가능
필자도 Redis를 프로젝트 경험하면서 여럿 사용한 바 있다. 기술의 깊이 만큼 기능의 최대치를 효율적으로 적용 시켰다고 생각하지 않지만 신입개발자를 준비하는 나로써는 기술 사용경험 또한 중요한 나의 재산이라고 생각한다.
필자는 어떠한 기술을 적용시킬때 해당기술의 특성을 파악 후 그 특성을 잘 살릴 수 있는 기능에 접목을 시킨다.
아무런 생각 없이 써봐야지 하고 쓰는 것 보다 해당 기술의 특성을 먼저 파악한 후 해당 기능의 효율성을 극대화 시킬수 있도록 기술을 반영하는 개발자로 거듭나자!
728x90
반응형
LIST
'데이터베이스' 카테고리의 다른 글
[MSSQL] MSSQL 기초 사용법 (쿼리, 테이블 만들기, 트랜잭션) (0) | 2025.06.20 |
---|---|
[데이터베이스] MSSQL이란? 마이크로소프트 SQL 서버 개념과 특징 정리 (0) | 2025.06.20 |
Cosmos DB란? (0) | 2025.04.24 |
[데이터베이스] 데이터베이스 Index(인덱스)란? (0) | 2025.03.16 |
[데이터베이스] 오라클 공간함수 (SDO_GEOMETRY) (2) | 2025.02.07 |