설치, 실행 그리고 접속
Redis를 Docker를 이용하여 설치, 실행, 그리고 접속하는 방법은 매우 간단합니다. 아래 단계에 따라 진행하면 됩니다.
1. Docker 설치 확인
먼저, Docker가 설치되어 있는지 확인합니다. 아래 명령어를 터미널에 입력하여 Docker가 설치되어 있는지 확인하세요:
docker --version
만약 설치되어 있지 않다면 Docker 공식 사이트에서 설치하세요.
2. Redis Docker 이미지 다운로드
Redis 이미지를 Docker Hub에서 다운로드합니다. 최신 버전의 Redis 이미지를 다운로드하려면 아래 명령어를 실행합니다:
docker pull redis
이 명령어는 Redis 이미지를 Docker에서 가져와서 로컬에 저장합니다.
3. Redis 컨테이너 실행
Redis 컨테이너를 실행하려면 docker run
명령을 사용합니다. Redis는 기본적으로 6379 포트를 사용하므로, 이 포트를 호스트와 매핑하여 실행할 수 있습니다.
docker run --name redis-server -d -p 6379:6379 redis
--name redis-server
: 컨테이너 이름을redis-server
로 지정합니다.-d
: 백그라운드에서 컨테이너를 실행합니다.-p 6379:6379
: 로컬 호스트의 6379 포트를 컨테이너의 6379 포트에 매핑합니다.
이제 Redis 서버가 Docker 컨테이너에서 실행 중입니다.
4. Redis CLI 접속
Redis CLI를 통해 Redis 서버에 접속하려면 docker exec
명령을 사용하여 Redis 컨테이너 내부에 접근할 수 있습니다.
docker exec -it redis-server redis-cli
-it
: 터미널 인터페이스를 활성화합니다.redis-server
: Redis 컨테이너 이름입니다.redis-cli
: Redis CLI를 실행하는 명령입니다.
이 명령을 실행하면 Redis CLI에 접속되어 아래와 같이 Redis 명령어를 입력할 수 있습니다.
127.0.0.1:6379>
5. Redis 서버 및 CLI 사용 예시
Redis에 접속한 후, 간단한 명령어를 실행하여 Redis가 정상적으로 작동하는지 확인합니다.
127.0.0.1:6379> set mykey "hello"
OK
127.0.0.1:6379> get mykey
"hello"
set
명령을 통해 키를 설정하고, get
명령을 통해 키의 값을 가져올 수 있습니다.
6. Redis 컨테이너 중지
Redis 컨테이너를 중지하려면 다음 명령어를 사용합니다:
docker stop redis-server
7. Redis 컨테이너 시작
중지된 컨테이너를 다시 시작하려면 다음 명령어를 사용합니다:
docker start redis-server
8. Redis 컨테이너 삭제
더 이상 Redis 컨테이너가 필요하지 않다면 컨테이너를 삭제할 수 있습니다:
docker rm redis-server
이로써 Docker를 통해 Redis 설치 및 실행, 그리고 Redis CLI를 통해 접속하는 방법을 마쳤습니다.
유용한 CLI
Redis에서 사용할 수 있는 몇 가지 유용한 CLI 명령어들에 대해 설명해드리겠습니다. 이 명령어들은 Redis 서버의 상태를 모니터링하거나 성능 문제를 진단하는 데 도움이 됩니다.
1. redis-cli monitor
Redis 서버에서 실시간으로 발생하는 모든 명령어를 모니터링합니다. 이 명령어는 디버깅이나 서버 상태를 실시간으로 확인할 때 매우 유용합니다.
redis-cli monitor
설명:
- 이 명령어를 실행하면 서버에서 발생하는 모든 명령어와 클라이언트 요청을 실시간으로 확인할 수 있습니다.
- Redis 서버에서 어떤 명령들이 실행되고 있는지 실시간으로 추적하고자 할 때 사용됩니다.
- 다수의 클라이언트가 동시에 작업을 수행하고 있을 때, 서버에서 발생하는 모든 요청을 모니터링할 수 있습니다.
주의사항:
- 실시간으로 모든 요청을 기록하므로, 성능에 영향을 줄 수 있습니다. 프로덕션 환경에서는 주의하여 사용해야 합니다.
2. slowlog get
Redis에서 느리게 실행된 명령을 조회하는 명령어입니다. 기본적으로 10ms 이상의 시간이 걸린 명령어를 기록합니다. 이를 통해 서버에서 느리게 실행되는 명령어를 확인하고, 성능 문제를 진단할 수 있습니다.
redis-cli slowlog get
설명:
- Redis의 슬로우 로그는 10ms 이상 걸린 명령어를 기록합니다.
slowlog get
명령어를 사용하여 느린 명령어의 리스트를 조회할 수 있습니다.- 느린 명령어가 무엇인지 파악하고, 이를 최적화할 수 있는 정보를 제공합니다.
결과 포맷:
- ID: 각 슬로우 로그 항목의 고유 ID.
- 시작 시간: 명령어가 실행된 Unix Timestamp.
- 수행 시간: 명령어가 실행된 시간(마이크로초 단위).
- 명령어: 수행된 Redis 명령어의 내용.
- Client IP/Port: 명령을 보낸 클라이언트의 IP와 포트.
- Client Name: 클라이언트 이름(있을 경우).
redis-cli slowlog get 10
slowlog get 10
: 최근 10개의 슬로우 로그 항목을 가져옵니다.
예시:
1) 1) (integer) 12
2) (integer) 1616401234
3) (integer) 25000
4) 1) "GET"
2) "mykey"
5) "127.0.0.1:6379"
관련 명령어:
slowlog len
: 슬로우 로그에 저장된 항목의 개수를 확인합니다.slowlog reset
: 슬로우 로그를 초기화합니다.
3. info
Redis 서버의 현재 상태와 메모리, CPU 사용량, 연결 상태 등 다양한 정보를 조회할 수 있는 명령어입니다. 서버 상태를 진단하거나 리소스 사용 현황을 확인할 때 유용합니다.
redis-cli info
설명:
- Redis 서버에 대한 상세한 정보를 반환합니다. 반환되는 정보는 여러 가지 카테고리로 나뉘어 있습니다.
- 주요 정보 카테고리:
- Server: Redis 서버의 버전, 실행 시간 등 서버 관련 정보.
- Clients: 현재 연결된 클라이언트 수, 최대 클라이언트 수.
- Memory: Redis 메모리 사용량, 메모리 할당 방법, 스왑 사용 여부.
- Persistence: RDB/AOF 영속성 정보, 최근 스냅샷 저장 여부.
- Stats: 명령어 처리 속도, 키 추가/삭제 수 등 통계 정보.
- Replication: 마스터/슬레이브 정보.
- CPU: CPU 사용량 통계.
- Keyspace: 각 데이터베이스(DB)의 키 수와 만료된 키 수.
특정 카테고리만 조회하기:
redis-cli info memory
redis-cli info clients
redis-cli info cpu
4. redis-cli --stat
Redis 서버의 실시간 통계를 확인할 수 있는 명령어입니다. Redis 서버의 메모리 사용량, 클라이언트 수, 요청 처리 속도 등의 정보를 실시간으로 확인할 수 있습니다.
redis-cli --stat
설명:
- Redis 서버의 실시간 성능 통계를 지속적으로 표시합니다.
- 표시되는 정보:
- 현재 시간
- 메모리 사용량
- 클라이언트 수
- 입출력 데이터량
- 명령어 처리 속도(QPS, Queries Per Second)
예시:
------ data ------
time: 16:02:05, connected_clients: 3, used_memory: 10485760, used_memory_human: 10M, ops: 200, expired_keys: 0, evicted_keys: 0, keyspace_hits: 150, keyspace_misses: 50
- 이 명령어는 주기적으로 정보를 업데이트하며, Redis 서버의 상태를 실시간 모니터링하는 데 유용합니다.
요약
Redis의 CLI 명령어는 서버 상태를 모니터링하고 성능을 분석하는 데 중요한 도구입니다. 각 명령어는 Redis의 다양한 상태와 성능 정보를 제공하며, 서버 최적화 및 성능 문제를 해결하는 데 도움을 줍니다.
monitor
: 실시간 명령어 모니터링.slowlog get
: 느린 명령어를 기록하고 조회.info
: 서버 상태 및 메모리, CPU 등 다양한 정보 조회.--stat
: 실시간 성능 통계 모니터링.
각 명령어를 적절히 활용하여 Redis 서버를 안정적이고 성능 좋게 유지할 수 있습니다.
'DB > Redis' 카테고리의 다른 글
Redis Hash 실습: 키-필드-값 데이터 구조 관리하기 (0) | 2024.09.11 |
---|---|
Redis Set 실습: 집합 연산과 활용법 (0) | 2024.09.11 |
Redis 문자열 실습: 기본 데이터 타입 다루기 (1) | 2024.09.11 |
Redis 데이터타입 정리: 문자열부터 복합 데이터까지 (0) | 2024.09.11 |
Redis 입문: 기본 개념 톺아보기 (0) | 2024.09.11 |