Middleware (오픈소스 활용-27) Redis Cache 란? 활용방법과 다운로드
페이지 정보
작성자 미들웨어 아이디로 검색 전체게시물 댓글 0건 조회 929회 좋아요 0회 작성일 24-03-21 10:58본문
안녕하세요. "미들웨어" 입니다.
이번엔 cache 로 자주 활용하는 redis 에 대해 정리를 해보겠습니다.
대표적으로 오픈소스인 redis를 자주 사용하는데요, redis 가 어떤것인지, 어떻게 활용하면 좋을지에 대해 정리해 보도록 하겠습니다.
1. cache 란?
application 성능을 향상시키고, data 속도를 또한 빠르게 처리할 수 있는 기능입니다.
자주 사용하는 것을 일정 공간에 넣어두고 빠르게 처리 할 수 있도록 하는 기능이며, application 외에 DB에서도 cache를 활용 합니다.
자주 사용하는 데이터를 저장하여 데이터에 대한 요청을 빠르게 처리하는 방법인거조.
cache 유형
- client (클라이언트)
application에서 활용하는 이미지, 정적파일, 썸네일등
- server (서버)
웹서버, application 서버, Database 등에 적용하며, Database 쿼리결과 단축, 클라이언트 요청 리소스를 처리
2. Redis 활용 및 설치
Remote Dictionary Server 약자가 redis 입니다.
오픈 소스 기반의 비관계형 데이터 베이스 관리 시스템이라고 불리기도 합니다.
Redis 는 master 와 slave 로 구분할 수 있다보니 서버가 죽더라도 SR센터와 같은 대비는 충분히 할 수 있습니다.
redis 다운로드는 redis 홈페이지에서 쉽게 다운로드 받을 수 있습니다.
현재 7.2 version 까지 출시가 됐네요.
Redis 다운로드
홈페이지 다운로드 : https://redis.io/download/
Redis 의 활용
아래 내용은 spring-boot 에서 redis 를 활용한 cache 방법을 정리한 구성도 입니다.
springboot 를 활용하여 Redis는 application에서 Redis Cache를 구현할 수 있고 application 을 통해 DB검색 작업을 수행하면 Redis Cache는 결과를 캐시에 저장할 수 있습니다.
동일한 검색작업을 수행하면 캐시 자체의 결과를 반환하므로 데이터베이스에 대한 두번째 호출은 안하므로 빠르게 결과값을 전달할 수 있는거조.
Redis Database 는 무엇인가?
Redis Database 는 디스크에 유지되는 인메모리 데이터 베이스 입니다.
쉽게 말하면 Redis Database를 쓸때 디스크의 메모리를 점유해서 사용한다는 개념입니다.
Redis Database를 활용하면 문자열, 목록, 세트, 해시, 스트림등 다양한 종규의 값이 지원되므로 사용범위는 넓습니다.
Redis 설치
Redis 설치방법을 제가 적어볼려 했는데, 워낙 홈페이지에 정리가 잘되있어서.. 따로 적을 필요가 없겠네요.
찾아 가기 쉽도록 설치가이드를 링크로 참부하겠습니다.
Redis 설치 방법 : https://redis.io/docs/install/install-redis/
3. (추천) Cluster 벤더들이 제공하는 Redis 설치버전 활용
Oracle, AWS, Google 에서 redis 를 다운로드 받아서 설치하고 그런 번거로움 없이 마우스 클릭으로만 바로 사용해볼 수도 있습니다.
oracle cloud 에서도 Redis를 제공해줍니다.
전 개인적으로 Oracle Cloud 를 추천합니다. 후발주자라 비용적인 측면에서 50%이상 유리하고, 요즘 투자를 많이해서 속도도 상당히 빠릅니다.
여튼.. 마땅히 설치할 서버나 공간 리소스가 없다면 cloud 벤더들이 제공하는 redis 를 구성해서 cache 활용해보는 것도 방법입니다.
Cloud 벤더들이 제공하는 Redis를 활용하면 아래와 같은 장점이 있습니다.
Redis cluster 생성 편리
Redis 서버 확장을 통한 유연한 리소스 구성
자동화된 서버 모니터링 제공
저도 Front 에 있는 webserver 와 redis cache 를 활용하여 썸네일과 이미지등 많은 파일을 cache 서버에 두고 응답속도 개선했던 기억이 있습니다.
Redis 활용만 잘한다면 현재 3초 정도 걸리는 페이지를 0.5초 이내로 호출되도록 바꿀수도 있습니다.
그럼.. 열공하세요~!!
댓글목록
등록된 댓글이 없습니다.