본문 바로가기
영상 후기/데이터베이스

영상 후기 - [10분 테코톡] 🤔디디의 Redis

by 올리브영 2023. 4. 4.
728x90
반응형

movie

Redis(Remote dictionary server)

  • Remote - 외부
  • dictionary - HashMap(Key-Value)
  • server - 서버

Redis란?

  • Remote dictionary server
  • Database, Cache, Message broker
  • In-memory Data Structure Store(메모리 상에서 데이터를 저장)
  • Supports rich data structure

 

Cache

  • 나중의 요청에 대한 결과를 미리 저장했다가 빠르게 사용하는 것
  • CPU Cache
    • 빠르고 비싸고 용량이 적다.

 

Redis

  • DB보다 더 빠른 Memory에 더 자주 접근하고 덜 자주 바뀌는 데이터를 저장하자.

 

Race Condition?

  • Race Condition이란 여러 개의 Thread가 경합하는 것
  • Context Switching에 따라 원하지 않는 결과가 발생

 

Race Condition 해결

  • Redis는 기본적은 Single Threaded
  • Redis 자료구조는 Atomic Critical Section(동시에 프로세스가 접근하면 안되는 영역)에 대한 동기화를 제공
  • 서로 다른 Transaction Read/Write를 동기화

 

Redis를 어디서 쓰는지?

  • 여러 서버에서 같은 데이터를 공유할 때
  • Single Server라면 Atomic 자료구조 & Cache

Redis 사용할 때 주의해야 할 점

  • Single Thread 서버 이므로 시간 복잡도를 고려해야 한다.
  • In-memory 특성상 메모리 파편화, 가상 메모리 등의 이해가 필요하다.
728x90
반응형