Redis란?

Remote Dictionary Server의 약자로 In-Memory 기반 Key-Value의 형태를 가지고 있는 NoSql DBMS이다.

특징

In-Memory

데이터들이 디스크에 저장되는 다른 DBMS와 달리 Memory(Ram)에 저장된다. 일반적으로 디스크를 읽는 속도보다 메모리를 읽는 속도가 더 빠르기 때문에 매우 빠른 데이터 엑세스 속도를 제공한다.

Key-Value

Redis는 key-value로 데이터가 이루어져 있다. ex) key = 1, value = “김수” 면 key를통해 데이터를 찾을 수 있다.

Collection

Redis는 다양한 자료구조(String, Hash, Set, List, Sort)(String은 문자열, hash는 key:value의 집합, set은 중복 없는 배열, sorted set은 정렬된 중복 없는 배열, List는 링크드 리스트 자료형의 구조)를 저장할 수 있다.

Cache 기능

캐싱은 데이터를 임시로 저장하여 이후에 빠르게 접근할 수 있도록 하는 기술이다.

Redis는 데이터를 메모리에 저장하여 빠른 응답 속도를 제공하며, 이러한 특징을 활용하여 캐싱의 역할을 수행 할 수 있다.

Expires

각 데이터(key-value)에 만료시간을 설정하여 일정 시간후 데이터를 자동으로 없앨 수 있다.


Why Redis?

redis는 우리 서비스에서 Access Token을 재발급 하는데 필요한 Refresh Token을 효과적으로 관리하기에 매우 유용하다. 어떤 점 때문에 유용한지 알아보도록 하겠다.

Access Token을 재발급하는 과정은 다음과 같이 이루진다.