본문 바로가기

캐시4

Springboot With Redis: 데이터 Dto 저장, 조회 시 직렬화 문제 및 Enum을 활용한 갱신 들어가기 최근 프로젝트 리펙토링을 진행하면서 성능 향상이라는 부분에 대해 생각을 해보았다. 성능 향상을 이루는 방법은 코드 리펙토링, 쿼리 최적화, 인덱스 사용 등 다양하게 있는데 항상 거론되는 것 중 하나가 캐시(cache)였다. '캐시'하면 떠오르는 것은 Redis라는 것이었고 프로젝트에도 적용해 보자고 생각하여 공부 및 실습을 진행하게 되었다. 그러던 중 패스트 캠퍼스에서 Redis에 대한 강의를 들었는데, 강의 내용을 듣고 관련 코드를 프로젝트에 적용하기 전에 다른 사람들은 어떻게 적용하였는지 궁금함이 생겼다. 그래서 다른 사람들의 코드를 참고하기 위해 인터넷을 뒤지다가 GenericJackson2JsonRedisSerializer()을 적용함에 있어 문제가 있다는 것을 알게 되었다. 이글에서는 .. 2023. 10. 14.
Springboot: redis를 통해 캐시 기능 간단 적용 들어가기 이 글에서는 간단하게 Springboot에 Redis를 적용하여 캐시 기능을 구현하는 과정을 설명할 것이다. Redis에 대한 기본적인 내용은 https://khdscor.tistory.com/98를 참고하길 바란다. springboot with redis 1. RedisTemplate를 통한 cache 사용 우선 간단하게 캐시에 대해서 설명해 보겠다. 캐시(cache)란 데이터를 미리 복사해 놓은 임시 저장소를 의미한다. 사실, 캐시는 꽤나 자주 사용되는 용어이다. 당장에 컴퓨터 저장장치 계층구조만 봐도 캐시라는 용어가 나온다. 이러한 캐시는 성능향상에 큰 이점이 있는데 바로 DB접근을 줄일 수 있는 것이다. redis는 인메모리 DB로 디스크가 아닌 메모리에 데이터를 저장한다. 이러한 red.. 2023. 10. 2.
Redis: In-Memory DB로서 뛰어난 성능 들어가기 항상 프로젝트를 진행할 때면 서버를 정하고 데이터베이스를 연결하고, 외부 API 요청 시 DB로부터 데이터를 가져오는 과정을 밟아 왔다. 데이터베이스로는 mysql을 주로 사용해 왔다. mysql을 사용하는 것만큼 익숙한 것이 캐시라는 것인데 캐시 하면 항상 거론되는 것 중 하나가 redis이다. 데이터베이스는 서버에서 디스크에 접근하여 데이터를 가져오는 것이지만, 캐시는 디스크에 데이터들을 메모리로 옮긴 후, 서버에서 디스크에 접근하는 것 대신에, 메모리 공간에 위치한 캐시에서 데이터를 가져오기 때문에 성능 향상을 이룰 수 있는 방법 중 하나이다. 이 글에서는 이러한 redis에 대해 기본적인 내용들을 작성할 예정이다. Redis란 무엇일까? 1. NoSql 로서의 Redis Redis는 20.. 2023. 9. 24.
웹서버와 WAS, 포워드 프록시, 리버스 프록시 이 글은 웹서버와 WAS, 그리고 포워드 프록시와 리버스 프록시에 대해 간단하게 작성한 글이다. 우선 위키백과에 나와있는 내용들을 보자. 웹 서버(Web server)는 HTTP 또는 HTTPS를 통해 웹 브라우저에서 요청하는 HTML 문서나 오브젝트(이미지 파일 등)을 전송해 주는 서비스 프로그램을 말한다. 웹 애플리케이션 서버(Web Application Server, 약자 WAS)는 웹 애플리케이션과 서버 환경을 만들어 동작시키는 기능을 제공하는 소프트웨어 프레임워크이다. 인터넷상에서 HTTP를 통해 사용자 컴퓨터나 장치에 애플리케이션을 수행해 주는 미들웨어(소프트웨어 엔진)로 볼 수 있다. 웹 애플리케이션 서버는 동적 서버 콘텐츠를 수행하는 것으로 일반적인 웹 서버와 구별이 되며, 주로 데이터베이.. 2023. 1. 16.