상황 ioredis 클라이언트를 사용하여, pipeline 기능을 사용하여 Redis Cluster에 Key와 Value를 저장하려고 했는데, 다음과 같은 에러가 발생했다. Error: All keys in the pipeline should belong to the same slots allocation group Redis Cluster를 사용하는 경우, MSET 및 MGET과 같은 멀티 키 명령을 사용할 수 없으며, ioredis 클라이언트에서 제공하는 pipeline의 경우에도 사용할 수 없다. 그래서 위와 같은 에러가 발생하게 되었다. 해결 pipeline을 사용하려면, 같은 슬롯인 경우만 가능하다는 것이다. 그래서 생각한 방법이 10개의 Key를 저장한다고 가정한 상황에서 3개의 슬롯이 존재하..
Docker를 활용해서 Redis Standalone 및 Cluster를 모니터링하고 있는데, 매 번 docker 명령어를 입력해서 해야 하는 번거로움이 있어서 docker-compose.yml 파일로 만들어봤다. version: '3' services: prod-redis-stats: image: insready/redis-stat:latest container_name: prod-redis-stats ports: - '13790:63790' command: [ '--verbose', # 추가 정보 보기 '--server', '127.0.0.1:6379', '127.0.0.2:6379', ] stage-redis-st..
Spring MVC의 요청 흐름을 아래의 그림으로 요약할 수 있고, 중간에 중요한 개념들을 정리하려고 한다. DispatcherServlet 프론트 컨트롤러 패턴을 구현할 실체이다. 클라이언트의 모든 Request를 접수하고, 다른 컴포넌트에 역할을 위임한다. 주로 HandlerMapping, HandlerAdapter, ViewResolver로 역할을 위임한다. HandlerMapping 특징 Request의 URL과 매칭 되는 Handler를 선택한다. HandlerMapping 인터페이스를 구현한 여러 구현체들이 있고, 구현체들의 우선순위를 기준으로 매칭 되는 Handler를 선택한다. 여러 구현체들이 있지만, 대표적으로 RequestMappingHandlerMapping과 BeanNameUrlHa..