Redis

📝 1yangsh·2022년 4월 3일
0

Redis

Remote Dictionary Server의 약자

  • Database, Cache, Message broker
  • In-memory Data Structure Store

Cache

  • 나중의 요청에 대한 결과를 미리 저장하는 것

메모리 계층 구조에서
데이터베이스는 비교적 느리고 크고 저렴한 storage 계층에 저장이 되는데
자주 사용하는 데이터를 메인 메모리에 저장하면 어떨까? 하는 생각에서 나온 것이 Redis 입니다.

Database보다 더 빠른 Memory에 더 자주 접근하고 덜 자주 바뀌는 데이터를 저장하자
In-memory Database (Cache)

Redis 자료구조는 Atomic Critical Section 에 대한 동기화를 제공
서로 다른 transaction Read/Write를 동기화하여 일관성을 지킨다.

그렇다면 Redis를 어디서 사용할까?

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

주의해야할 점

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

Single Threaded

  • Event Driven (비동기)
  • IO-bound Process
  • Context Switching의 효율이 적다

Memory 관리

  • 메모리 파편화
  • 가상 메모리 swap
  • Replication Fork

참고

profile
개발 경험 저장소

0개의 댓글