캐싱 전략을 활용한 Redis와 Spring boot
·
데이터베이스/Redis
캐싱과 캐싱의 필요성💡 캐싱(Caching) 자주 사용되는 데이터를 더 빠른 캐시(Cache)에 저장하는 기법을 일컫는 용어Cache? Cache는 CPU 내부의 작은 하드웨어로, 지역성(Locality)의 원칙에 따라 자주 접근하게 되는 데이터를 저장해두는 임시(휘발성) 기억 장치다.  기본적으로 영속성을 위해 파일시스템(디스크)에 저장하고, 빠른 활용을 위해 메모리(RAM)에 저장한다면, 정말 많이 사용되는 데이터가 캐시에 저장된다. 캐시의 목적과 방식을 적용해, 빈번하게 접근하게 되는 데이터베이스의 데이터를 Redis 등의 인메모리 데이터베이스에 저장을 함으로서 데이터를 조회하는데 걸리는 시간과 자원을 감소시키는 기술을 캐싱이라고 한다. 웹 브라우저에서는 자주 바뀌지 않는 이미지 등을 브라우저 캐..
Spring Boot와 Redis로 Session Clustering 간단 구현
·
데이터베이스/Redis
HttpSessionHttp는 stateless한 특징을 지니기 때문에 각각의 요청이 독립적으로 이루어지며, 서버는 요청의 순서를 저장하지 않는다. 이렇게 된다면 서버는 동일한 클라이언트의 요청이라도 구분하지 못하게 되며 문제가 발생할 수 있다.이를 해결하고자 서버는 클라이언트의 session ID를 유지하고, 클라이언트는 session ID를 쿠키에 담아 저장하며, 요청에 같이 session ID를 담아 보낸다.즉, 이전에 요청을 보낸 클라이언트를 기억하는 상태를 유지하는 것을 세션이라고 한다.💡 그런데 만약, 사용자가 늘어서 하나의 서버로는 사용자의 요청을 감당하기 어려워지면 어떡할까? 여러 개의 서버를 동작시켜, 각 서버들에게 요청을 분산(Load Balancing)하여 부하를 줄일 수 있다. 이..
조원준입니다
'SpringBoot' 태그의 글 목록