본문 바로가기

728x90
728x90

DevOps/Redis

[Redis] Redis 클러스터, 스프링 부트에서 설정하기- 컴도리돌이 Redis 클러스터는 데이터를 여러 노드에 분산 저장하여 확장성과 가용성을 높입니다. 이를 위해 Redis는 키를 해시 슬롯으로 매핑하고, 총 16.384개의 해시 슬롯을 노드들에 분배하죠. 클라이언트는 키의 해시 값에 따라 해당 슬롯을 처리하는 노드를 찾아가는데, 클러스터 재구성이나 노드 장애 시 MOVED 오류가 발생할 수 있어요. 이 경우, 클라이언트는 Redis로부터 새로운 노드 정보를 받고 재요청을 처리하게 됩니다.  Redis 클러스터 설정은 이전 포스팅에서 확인할 수 있습니다. 😆 Spring Boot 환경에서 Redis 클러스터를 구성하려면 먼저 application.yml에 클러스터 노드 정보를 설정해야 해요. spring: redis: cluster: nodes: .. 더보기
[Spring] Spring Cache Abstraction, @Cacheable, Redis Monitor 에 대해서 - 컴도리돌이 @Cacheable캐싱은 많은 애플리케이션에서 성능을 향상하는 핵심적인 기술 중 하나이며, 그중에서도 스프링 프레임워크에서는 @Cacheable 어노테이션을 통해 메서드 호출의 결과를 캐싱하는 기능을 제공합니다. 이를 통해 반복적인 계산을 피하고 응답 시간을 줄일 수 있게 됩니다. @Cacheable는 메서드의 특정 인자에 대한 결과 값을 캐시저장소에 저장하고 같은 인자에 대한 결과 값을 메서드를 실행하지 않고 캐싱 저장소에서 가져와 반환을 해줍니다. @Servicepublic class MyService { @Cacheable("book") public String findBookName(Long id) { ... }} 위에 코드와 같이 작성하고 findBook을 메서드를 호.. 더보기
[Spring] RedisConfig 설정(CachingConfigurer, CacheManager, RediscacheConfiguration, serialize, RedisCacheManager) - 컴도리돌이 Redis는 메모리 기반의 데이터 저장소로서, 캐싱, 세션 관리 등 다양한 용도로 사용되는데, 저는 스프링 부트를 사용하며 Redis는 대게 캐시 매니저나 세션을 저장을 할 때 활용되고 있어요. 스프링 부트에서는 Redis를 간편하게 설정하고 사용할 수 있는데, properties 또는 yml 파일에서 redis 호스트, 포트, 타입 등을 간단하게 설정할 수 있어요. 저는 properties 파일을 사용하기 때문에 다음과 같이 설정을 했습니다 spring.redis.port=6379spring.redis.host=localhostspring.cache.type=redis 스프링 부트에서 캐시 매니저를 사용하여 사용자가 설정한 조건에 따른 쿼리 데이터를 저장하는 경우가 많습니다.  이를 위해 자바 8을 사.. 더보기
[Redis] Single Redis Instance, Redis HA, Redis Sentinel, Redis Cluster 에 대해서 - 컴도리돌이 오늘은 Redis에 대해 정리하려고 합니다. Redis는 무엇일까요?Redis("Re mote DI ctionary S ervice")Redis에 대한 가장 정확한 설명은 데이터 구조 서버라는 것이에요.🤓 Redis의 이러한 특정 특성으로 인해 개발자들 사이에서 인기가 높아지고 채택이 이루어졌습니다. 데이터를 정렬하고, 저장하고, 다루는 방식이 정말 직관적이고 간편하거든요. 특히 Redis는 단순한 캐시 역할을 넘어서, 본격적인 데이터베이스로도 활용될 수 있어요. 기본적으로 Redis는 MySQL이나 PostgreSQL과 같은 다른 "실제" 데이터베이스 앞에 캐시로 사용되는 메모리 내 데이터베이스로, 애플리케이션 성능을 개선하는 데 도움이 됩니다. 메모리 속도를 활용하고 중앙 애플리케이션 데이터베이스의.. 더보기