[Database] Memcached

kante·2020년 12월 23일
0

2020 12 03

로그인을 구현하려고, 쿠키 & 세션을 찾아보다가 Memcached 시스템을 접하게 되었다. 레디스나 카산드라같은 캐시라는데, 나는 캐시를 써본 적도 없고, 어떤 것인지 정확하게 이해가 안가서 일단 Memcached 가 무엇인지 찾아보았다.


정의

범용 분산 캐시 시스템. 외부 데이터 소스의 읽기 횟수를 줄이기 위해 데이터와 객체들을 RAM에 캐시 처리함으로써 동적 데이터베이스 드리븐 웹사이트의 속도를 높이기 위해 종종 사용 된다.

  • 필요량보다 많은 메모리를 가지고 있을 때, 시스템으로부터 더 쉽게 가져다 사용할 수 있도록 만들어 줌.
  • DB나 API 호출 또는 페이지 렌더링 등에서 받아오는 데이터를 Key-Value 형태로 메모리에 저장

Memcached, Redis :: 개인적인공간

장점

  • 시스템의 사용되지 않는 일부 메모리 활용할 수 있어서 성능 향상 가능
  • 메모리에서 읽어와서 응답속도가 빠름
  • Consistent hash 알고리즘 사용하여 물리적인 별도의 캐시서버를 로직상 하나로 보고 사용 가능.->독립된 노드 구조의 캐시 시스템 해결
  • 다양한 개발 언어 지원

단점

  • 재부팅 시 소멸되어 영구적으로 활용할 수 없다.
  • 다시 데이터가 저장되는 기간 동안은 디비에서 부하를 받아내야 함.
  • 데이터 삭제 및 수정시 DB & Memcached에 동시 접근이 가능해야 하므로 개발 복잡도가 증가

참조

  1. https://ko.wikipedia.org/wiki/Memcached
profile
경험많은 개발자가 되자

0개의 댓글