redis
-
Spring을 통해 WebApplication을 작성할 때 Redis를 크게 두 가지 방향으로 쓸 수 있을 것 같다. @Cacheable, @CacheEvict 등의 애너테이션을 활용한 Cache 용도 RedisTemplate를 활용한 다양한 자료구조에 데이터 관리(CRUD)먼저 Cache로 사용하는 방법을 알아보자. 의존성 implementation 'org.springframework.boot:spring-boot-starter-data-redis' Spring에서 @Cacheable, @CacheEvict, @CachePut과 같은 애너테이션을 만들어 두었고 해당 애너테이션이 어떻게 동작할지는 자신이 원하는 Cache Framework의 구현체만 주입해 주면 된다. -> CacheManage..
[Spring] Cache Abstraction 사용 (Redis)Spring을 통해 WebApplication을 작성할 때 Redis를 크게 두 가지 방향으로 쓸 수 있을 것 같다. @Cacheable, @CacheEvict 등의 애너테이션을 활용한 Cache 용도 RedisTemplate를 활용한 다양한 자료구조에 데이터 관리(CRUD)먼저 Cache로 사용하는 방법을 알아보자. 의존성 implementation 'org.springframework.boot:spring-boot-starter-data-redis' Spring에서 @Cacheable, @CacheEvict, @CachePut과 같은 애너테이션을 만들어 두었고 해당 애너테이션이 어떻게 동작할지는 자신이 원하는 Cache Framework의 구현체만 주입해 주면 된다. -> CacheManage..
2024.11.18 -
서비스 모니터링은 서비스를 운영하는데 매우 중요한 요소이다.Redis는 캐시 용도로 사용되기도 하지만, 빠른 접근이 필요하지만 다소 중요하지 않는 정보를 저장하는 저장소로도 사용이 될 수 있다.이러한 경우에는 데이터가 저장되기 때문에 redis 장애 시 시스템에 문제가 생길 수도 있다.이러한 상황을 빠르게 탐지하고, 사전에 차단하기 위해서는 모니터링 시스템이 필요하다. 기본 구성은 Prometheus, Grafana를 활용한다. https://kkang-joo.tistory.com/72 https://kkang-joo.tistory.com/76 Redis Exporter 설치prometheus doc의 다양한 exporter : https://prometheus.io/docs/instrumentin..
[Redis][MSA] Redis-Exporter를 통한 모니터링(Grafana, Prometheus)서비스 모니터링은 서비스를 운영하는데 매우 중요한 요소이다.Redis는 캐시 용도로 사용되기도 하지만, 빠른 접근이 필요하지만 다소 중요하지 않는 정보를 저장하는 저장소로도 사용이 될 수 있다.이러한 경우에는 데이터가 저장되기 때문에 redis 장애 시 시스템에 문제가 생길 수도 있다.이러한 상황을 빠르게 탐지하고, 사전에 차단하기 위해서는 모니터링 시스템이 필요하다. 기본 구성은 Prometheus, Grafana를 활용한다. https://kkang-joo.tistory.com/72 https://kkang-joo.tistory.com/76 Redis Exporter 설치prometheus doc의 다양한 exporter : https://prometheus.io/docs/instrumentin..
2024.09.06 -
한 번에 많은 데이터를 redis에 넣어야 하는 경우 단일 명령어를 여러 번 호출하게 되면 호출이 일어날때마다 RTT(round trip time)로 인한 네트워크 지연이 발생할 수도 있다. 이러한 상황에서는 redis에서 제공하는 기능 중에 lua script or pipeline을 이용하면 RTT(round trip time)로 인한 네트워크 지연을 완화할 수 있다. Redis pipelineredis의 명령어들을 일괄로 처리하여 RTT(rount-trip-time)를 최적화하는 방법개별 명령에 대해 응답을 기다리지 않고 한 번에 여러 명령을 실행하여 성능을 개선 파이프라이닝을 활용하면 단순히 네트워크 지연시간을 줄일 뿐 아니라, Redis 서버에서 처리할 수 있는 작업의 수 향상Redis 서버가 ..
[Redis] bulk insert(lua script, pipeline)한 번에 많은 데이터를 redis에 넣어야 하는 경우 단일 명령어를 여러 번 호출하게 되면 호출이 일어날때마다 RTT(round trip time)로 인한 네트워크 지연이 발생할 수도 있다. 이러한 상황에서는 redis에서 제공하는 기능 중에 lua script or pipeline을 이용하면 RTT(round trip time)로 인한 네트워크 지연을 완화할 수 있다. Redis pipelineredis의 명령어들을 일괄로 처리하여 RTT(rount-trip-time)를 최적화하는 방법개별 명령에 대해 응답을 기다리지 않고 한 번에 여러 명령을 실행하여 성능을 개선 파이프라이닝을 활용하면 단순히 네트워크 지연시간을 줄일 뿐 아니라, Redis 서버에서 처리할 수 있는 작업의 수 향상Redis 서버가 ..
2024.08.30 -
redis를 cache로 사용하는 방법을 알아보자.캐시란원본 데이터보다 더 빠르고 효율적으로 액세스 할 수 있는 임시 데이터 저장소캐시 도입으로 성능을 개선할 수 있는 조건데이터를 찾기 위해 검색하는 시간이 오래 걸리거나, 매번 계산을 통해 데이터를 가져와야 한다캐시가 원본 데이터에 요청하는 것보다 빨라야 한다캐시에 저장된 데이터가 잘 변하지 않는 데이터다캐시에 저장된 데이터가 자주 검색되는 데이터다 캐시로서의 레디스키/값 형태의 구성으로 간단하다인메모리 데이터 저장소로 빠르다자체적으로 고가용성 기능을 가지고 있는 솔루션이다장애 시에도 안정적 운영이 가능스케일 아웃을 손쉽게 할 수 있다캐싱 전략레디스를 어떻게 배치할 것인지에 따라 서비스 성능에 큰 영향을 끼친다캐싱되는 데이터의 유형데이터에 대한 액세스 ..
[Redis] Redis - Cacheredis를 cache로 사용하는 방법을 알아보자.캐시란원본 데이터보다 더 빠르고 효율적으로 액세스 할 수 있는 임시 데이터 저장소캐시 도입으로 성능을 개선할 수 있는 조건데이터를 찾기 위해 검색하는 시간이 오래 걸리거나, 매번 계산을 통해 데이터를 가져와야 한다캐시가 원본 데이터에 요청하는 것보다 빨라야 한다캐시에 저장된 데이터가 잘 변하지 않는 데이터다캐시에 저장된 데이터가 자주 검색되는 데이터다 캐시로서의 레디스키/값 형태의 구성으로 간단하다인메모리 데이터 저장소로 빠르다자체적으로 고가용성 기능을 가지고 있는 솔루션이다장애 시에도 안정적 운영이 가능스케일 아웃을 손쉽게 할 수 있다캐싱 전략레디스를 어떻게 배치할 것인지에 따라 서비스 성능에 큰 영향을 끼친다캐싱되는 데이터의 유형데이터에 대한 액세스 ..
2024.04.26