DB

[Redis] Redis 설치 및 기본 명령어

Karla Ko 2023. 3. 5. 15:13
728x90

Redis란?

Remote Dictionary Server의 약자로 외부에서 사용 가능한 Key-Value 쌍의 해시 맵 형태의 서버라고 생각할 수 있다. 별도의 쿼리 없이 Key를 통해 빠르게 결과를 가져올 수 있다.

인 메모리 기반의 시스템이므로 재부팅 시 데이터가 소멸하고, 이로 인해 영구적인 저장용 시스템으로 활용할 수 없다는 문제가 있다. 만약 영구 저장이 필요하다면 해당 데이터를 DB에 저장해 두고, 재부팅 시 DB로부터 데이터를 받아야 한다.

  • 영속성을 지원하는 인 메모리 데이터 저장소
  • 다양한 자료 구조를 지원함.
  • 싱글 스레드 방식으로 인해 연산을 원자적으로 수행이 가능함.
  • 읽기 성능 증대를 위한 서버 측 리플리케이션을 지원
  • 쓰기 성능 증대를 위한 클라이언트 측 샤딩 지원
  • 다양한 서비스에서 사용되며 검증된 기술

Redis 사용 이유

서비스를 사용자가 늘어나면 DB에 무리가 가기 시작한다. DB는 데이터를 물리 디스크에 직접 쓰기 때문에 서버에 문제가 발생해도 데이터가 손실되지는 않지만, 매 트랜잭션마다 디스크에 접근해야하므로 부하가 많아지면 성능이 떨어진다그래서 DB를 스케일 인 또는 스케일 아웃하는 방식 외에도 캐시 서버를 검토하게 된다.

더보기

메세지 분배 발송 솔루션 Redis ➡️

대량의 메시지를 분배 및 발송 할 때, 저장된 대량의 메시지를 조회 하는 시간을 줄이기 위해 사용

Docker로 Redis 설치

1. 이미지 내려받기

docker pull redis

2.  이미지 확인

docker images

 

3.  컨테이너 생성 및 실행

 docker run --name redis -d redis

4. redis cli 접속

docker exec -it redis redis-cli

 

Redis 기본 명령어

1. 저장

set key value

set [key 이름] [value 값]을 통해 데이터를 저장

2. 조회

keys *

# 결과
# 1) "key"

keys [패턴]을 통해 여러 키 조회

 keys k*를 통해서 key라는 키 조회

get key

# 결과
# "value"

get [key 이름]을 통해 해당 key에 대한 value를 조회

3. 삭제

del key

del [key 이름]을 통해 해당 key-value 삭제

Key 수정

rename key newKey

rename [현재 key 이름] [새로운 key 이름]을 통해 key의 이름 변경

value를 변경하기 위해서는 set명령어를 이용

 

728x90