Redis 응용 - 검색 결과 캐싱
·
데이터베이스/Redis
검색 결과 캐싱Pagination with @EnableSpringDataWebSupportApplication 에 다음 어노테이션을 추가한다.@EnableSpringDataWebSupport(pageSerializationMode = VIA_DTO)@EnableSpringDataWebSupport(pageSerializationMode = VIA_DTO)@SpringBootApplicationpublic class RedisApplication { public static void main(String[] args) { SpringApplication.run(RedisApplication.class, args); }} 스프링 부트 3.3.1 버전에서 위 어노테이션이 없으면 war..
캐싱 전략을 활용한 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)하여 부하를 줄일 수 있다. 이..
Redis 기초 및 Spring Boot 연동
·
데이터베이스/Redis
Redis 공식문서: https://redis.io/docs/latest/ Docs redis.ioREDIS(REmote DIctionary Server)💡 key-value 형식의 NoSQL 인메모리 데이터베이스" data-ke-type="html">HTML 삽입미리보기할 수 없는 소스Redis를 사용하는 이유MySQL 같은 관계형 데이터베이스는 파일시스템(SSD, HDD)에 데이터를 저장해서 서비스가 종료되어도 영구적으로 데이터를 유지할 수 있다.하지만, 데이터가 영구적으로 저장될 필요가 없고 일시적으로 저장되어야 할 상황이 있다면?세션이나 로그인 정보, 장바구니에 상품을 담는 기능 등… 사용자의 행동에 따라 데이터의 수정이 빈번하고 영구적으로 반영될 필요가 없다.기존의 관계형 데이터베이스는 파일시..
조원준입니다
'redis' 태그의 글 목록