프로세스가 동작할 때는 하드디스크에서 데이터를 가져와서 메인 메모리(RAM) 에 올려놓고 사용합니다.
메인 메모리가 하드디스크 보다 빠르기 때문에 올려두고 빠르게 접근하기 위함입니다.
그런데 여기서 CPU를 더 효율적으로 사용하기 위해 CPU가 접근하기 쉬운 공간을 하나 마련해둡니다.
그것을 캐시 메모리 라고 합니다.
자주 사용하는 데이터를 쌓아두고 있다가 필요하면 바로바로 꺼내주는 역할을 합니다.
캐시 메모리는 속도가 빠른만큼 가격이 비쌈 => 적은 용량을 효율적으로 사용해야 함
서버에서 1만명이 DB의 '싸피' 라는 데이터가 필요하다고 할 때
서버에서는 이 데이터를 꺼내 보여주기 위해 1만번의 조회가 발생합니다.
하지만 '싸피' 라는 데이터를 캐시 메모리에 올려놓는다면 한번의 DB 연결로 캐시 메모리에 '싸피'를 올려두고 빠르게 데이터를 제공할 수 있겠죠
이 역할을 하는것이 Redis 입니다.
Redis는
장점
DB 접근을 줄여줄 수 있다.
No-Sql로 Key: value 쌍으로 접근할 수 있다. (RDBMS 보다 빠르다고 함)
문법적으로 사용하기 쉽다.
단점
DB에서 데이터를 직접 가져오는것이 아니기 때문에 DB와 다를 수 있다. 즉 자주 변경되는 데이터를 사용하면 데이터가 불일치 되는 경우가 발생할 수 있음
휘발성 메모리에 저장하기 때문에 서버를 끄면 데이터가 사라짐
사용처