[Server] 전세계에서 가장 유명한 캐싱 솔루션, Redis
in Server on Server
Last modified at:
오늘은 전세계에서 가장 유명한 캐싱 솔루션인 Redis에 대해 알아보는 시간을 가지고자 한다.
Redis
오픈소스 인 메모리 데이터 구조 저장소로서 in memory DB, 캐시, 메시지 브로커로 역할을 수행한다.
전세계에서 가장 유명한 캐싱 솔루션이기도 하다.
- support data structure
- String, hash, list, sets, sorted sets(정렬이 되는 집합), bitmaps, streams 등을 지원한다.
- cache의 정의
- 나중에 요청된 결과를 미리 저장해뒀다가 빠르게 쓰기 위한 임시 데이터 저장소
- 캐시에 접근 하는 것이 원본에 접근 하는 것보다 빨라야 함
- 데이터의 재사용 횟수가 한 번 이상이어야 캐쉬가 의미 있음
- Redis의 경우는 자료구조가 Atomic하다.
- Atomic Operatio이 필요한 부분은 멀티스레드 프로그램에서 공유 자원들에 대해 여러 스레드가 서로 동시에 액세스하는 상태(race condition)을 막기 위한 하나의 방법.
- 쉽게 말해 동기화를 위한 하나의 방법임
- Redis as a cache
- 단순한 key-value 구조
- 캐싱 전략
- 읽기전략 - lazy loading(Look-Aside): Redis에 찾는 데이터가 없으면 DB에서 조회해 온 뒤 Redis에 저장해야 한다.
Redis 사용처
- Remote Data Store
- 여러대의 서버에서 같은 데이터를 쓰고싶을 때 보통 사용함
- 인증 토큰을 저장 시 주로 많이 사용
참고
- [[NHN FORWARD 2021] Redis 야무지게 사용하기https://www.youtube.com/watch?v=92NizoBL4uA)