MySQL : 디스크에 저장되는 디스크 기반 데이터베이스 /
저장형식 : 로우형 DBMS -> 데이터를 row로 하나의 블록에 저장. 한블록에 한로우를 저장하기 때문에
한번의 디스크 io로 하나의 로우를 통째로 가지고 옴. 필요없는 필드까지 조회된다. 비효율적.
Redis : 메모리에 저장되는 메모리 기반 데이터베이스 /
저장형식 : key-value(데이터를 키와 value의 쌍으로 저장한다) -> 해시함수와 해시 테이블을 사용해 키를 관리. 빠른 탐색 속도.
서비스 속도 향상 위해 redis사용.
일반적으로 데이터베이스는 저장장치에 저장이 되는데, 데이터베이스를 조회하려면 저장장치로 인풋아웃풋이 발생한다.
캐시는 인메모리 방식을 활용하여 데이터를 임시로 저장해두기 때문에, 저장장치의 io보다 훨씬 빠르게 동작.
so, 자주 사용하는 데이터는 캐시서버에서 우선 조회하고, 없을땐 ㄷㅔ이터 베이스를 다시조회하는 방식을 활용한다.
Redis는 이런 캐시 서버이다.
Redis ( Remote Dictionary Server)
key-value 데이터베이스 이므로 nosql이다. 각각의 데이터 요소는 특정 키를 기반으로 접근됨.
인메모리 기반의 데이터 처리및저장, 속도빠르지만, 서버 꺼지면 모든 데이터 사라짐.
그래서 전체 서비스에서 보조 디비로 쓰인다.