티스토리 뷰

용어정리

Redis

주디 𝙹𝚞𝚍𝚢 2021. 5. 18. 22:14

Cache는 나중에 요청될 결과를 미리 저장해두었다가 빠르게 서비스하는 것을 의미.

(좌) Look aside cache / (우) write back

 속도는 write back이 빠르지만 캐시메모리에 저장하기 때문에 장애가 생기면 데이터가 유실될 가능성이 생긴다. 로그를 DB에 저장할 때 캐시에 모았다가 특정 주기마다 DB에 저장하는데, 굉장히 많이 써야할 경우 redis같은 캐시에 넣고 특정 주기마다 DB에 저장하는 경우와 같이 write back이 쓰인다. 아니면 극단적으로 무거운 write 작업이 있을 경우.

 Redis는 자료구조가 Atomic하기 때문에 Race Condition을 피할 수 있는 장점이 있다(반드시는 아님).


Redis는 여러 개의 서버에서 데이터를 공유하고 싶을 때(Remote Data Store), 인증 토큰 등을 저장(Strings 또는 hash), Ranking보드로 사용(Sorted Set), 유저 API Limit, 잡 큐(list)에 사용된다. Redis의 collection은 아래와 같다.

Strings key와 value로 저장
List 우리가 아는 그 리스트
Set 중복X(중복되면 하나만)
Sorted Set score를 줘서 순서를 만듦
Hash  

 하나의 컬렉션에 너무 많은 아이템을 담지 않도록 하는 것이 권장된다.(몇천개~10000개 정도) 그리고 Hash, Sorted Set, Set은 메모리를 많이 사용하므로 Ziplist를 사용하는 것이 권장된다.


출처는 우아한 테크 세미나 유튜브 영상이다. 더 많은 내용은 영상을 참고하시길.

300x250

'용어정리' 카테고리의 다른 글

dpkg와 apt-get  (0) 2021.05.18
Base64  (0) 2021.05.18
L4 스위치  (0) 2021.05.18
포트 포워딩  (0) 2021.05.17
Ping  (0) 2021.05.17
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함