Redis 알아보기

cabbage·2023년 2월 19일
0

기타

목록 보기
10/26
post-custom-banner

Redis

  • Redis(Remote dictionary server)는 'key-value' 구조로 데이터를 관리하는 비관계형 데이터베이스 관리 시스템(NoSQL, NonRDBMS)이다.
  • 메모리 기반의 'key-value' 구조로 데이터를 관리하여 디스크 기반의 일반적인 데이터베이스보다 I/O 속도가 빠르다.
  • 일반적인 데이터베이스보다 I/O 속도가 빠르기 때문에, 일반적으로 전체 서비스에서 속도 향상을 위한 보조 데이터베이스로 사용한다.

Redis 데이터 처리 방법

종류역할
set데이터 저장하기
get데이터 조회하기
rename데이터 변경하기
randomkey저장된 key 중 하나의 key를 랜덤 검색하기
keys모든 key 검색하기
exists검색 key 존재 여부 확인하기
mset여러 데이터 저장하기
mget여러 데이터 검색하기

Redis의 사용 이유

  • 메모리 기반으로 데이터를 관리하기 때문에 디스크 기반의 데이터베이스보다 I/O 속도가 빠르다.
  • 이런 점 때문에 Redis를 캐시 서버로 사용할 수 있다.
  • 자주 조회되는 데이터를 Redis에 저장하고, Redis를 데이터베이스보다 우선 조회하여 전체적인 서비스 속도를 향상시킬 수 있다.

Redis의 특징

  • 'key-value' 구조이므로 쿼리를 사용하지 않는다.
  • 메모리 기반이므로 데이터 처리 속도가 빠르다.
  • String, Set, Sorted Set, Hash, List 의 데이터 형식을 지원하므로 다양한 방식으로 데이터를 활용할 수 있다.
  • 리스트 형식의 데이터 입력과 삭제가 빠르다.
  • 메모리 기반이지만 영속적인 데이터 보존이 가능하다.
    • 명령어를 사용해서 삭제하거나 expires를 설정하지 않으면 데이터가 삭제되지 않는다.
    • 스냅샷 기능으로 메모리 내용을 복구할 수 있다.
  • 싱글 스레드 기반
    • 한번에 하나의 명령만 처리 가능하다.
    • 명령어 처리 시간이 오래 걸리면 이후 명령어들은 대기해야 한다.

Redis의 단점

  • 메모리 기반 데이터베이스의 특성 때문에 서버 장애가 발생했을 때 데이터가 유실될 수 있다.
  • 메모리 관리가 필요하다.
  • 싱글 스레드 기반이므로 처리 시간이 오래 걸리는 명령의 사용을 지양해야 한다.

참고

profile
캐비지 개발 블로그입니다. :)
post-custom-banner

0개의 댓글