Link
Today
Total
10-17 04:29
Archives
관리 메뉴

초보개발자 긍.응.성

Redis 란? 본문

Redis

Redis 란?

긍.응.성 2020. 10. 28. 02:04
반응형

Redis logo

What is Redis?

Redis는 Remote Dictionary Server의 약자로서, "키-값" 구조의 비정형 데이터를 저장하고 관리하기 위한 오픈 소스 기반의 비 관계형 DBMS입니다. 2009년 살바토르 산필리포(Salvatore Sanfilippo)가 처음 개발했으며 2015년부터 Redis Labs가 지원하고 있습니다. 모든 데이터를 메모리로 불러와서 처리하는 메모리 기반 DBMS이며, 현재 Redis는 가장 인기 있는 키-값 저장소로 알려져 있습니다.

또한, Redis는 in-memory 데이터 저장소 이외에도 database, cache와 message 브로커로도 사용됩니다.

Redis의 특징

Redis는 single thread로 동작하기에 아래와 같은 상황에 atomic operation이 보장됩니다.

  • appending to a string
  • incrementing the value in a hash
  • pushing an element to a list
  • computing set intersection, union and difference
  • getting the member with highest ranking in a sorted set

Redis는 in-memory로 동작하여 뛰어난 처리 속도를 보여줍니다. 또한, in-memory 캐시임에도 불구하고 dataset dump나 log appending을 통해 persistence하게 사용할 수 있습니다. persistence 관련 지원은 성능을 위해 optional 하게 선택할 수 있습니다.

Redis의 Collections

이전까지의 key-value 저장소는 string key와 string value의 저장을 지원했습니다. Redis가 가지는 가장 큰 강점은 다양한 Collection을 지원한다는것입니다. 아래는 Redis가 지원하는 Collection의 종류입니다.

  • String : 문자열 <key, value>
  • List : 리스트 <key, value[]>
  • Set : 집합 <key, Set<value>>
  • Sorted Set : 순서를 갖는 집합 <key, Set<value(with score)>>
  • Hash : 해시 <key, <field, value>>

참고 링크

반응형
Comments