본문 바로가기
728x90

AMQP/redis4

Redis 동작 원리 & data structure & Back up! 1. Redis 는 어떻게 동작할까? : Redis 핵심 서버 엔진은 단일 쓰레드, 논블로킹 이벤트 루프로 동작 ( 클라이언트 요청 → 이벤트 루프 → 명령 실행 → 응답 하는 구조임) - 이벤트 루프란? 1) 클라이언트가 요청을 보냄 → 소켓 이벤트 감지 2) 이벤트 루프가 해당 명령을 싱글 스레드에서 바로 실행 (대부분의 명령은 메모리 연산이므로 바로 처리 가능) 3) 처리 결과를 바로 클라이언트 소켓에 기록 (별도 스레드 없이도 논블로킹 소켓 사용 가능) 4) 이벤트 루프는 다음 이벤트(클라이언트 요청, 타이머, 내부 이벤트 등)로 넘어감 "이러한 구조때문에 rua script 를 최소화 해서 사용.. 2025. 8. 14.
Redis Cluster 설명 앞써 블로그에서는 docker file 기반의 redis를 어떻게 띄우는지를 설명했었다.하지만 실무에서는 이렇게 단일 redis 서버하나 띄워놓고 운용하기에는 리스크가 너무 크다.가장 큰 리스크는 서버 하나가 유일한데 그게 뻗어버리면?관련된 서비스가 마비될 것이다. 따라서, 원활한 서비스를 위해서는 2가지 중 하나를 선택해야 하는데 그중 하나가 Sentinel 이고 다른 하나가 Cluster 구성이다. 1. Sentinel - HA 지원, Master & Slave 의 Replica 구성 가능 - 과반수의 투표체계를 사용하기 때문에 홀수개의 redis를 구성해야한다.(그중 하나가 Master 나머지 두개가 Slave) - Sentinel 구성을 위해서는 기존 redis 와 별도의 추가 구.. 2025. 4. 21.
redis dockerfile 로 local에서 띄우기 현업에서 개발을 하다보면, redis 를 사용해야할 시기가 찾아온다.왜 redis를 써야되는지에 대한 리뷰는 차차 다뤄보도록 하고, 지금은 redis docker file 을 local 에서 어떻게 띄우고 실행시켜 보는지에 대해 간단하게 다뤄보도록 하겠다. 우선 도커파일의 구성은 아래와 같아. #docker fileFROM redis:7.2.5-alpine3.20EXPOSE 6379CMD ["redis-server"] 티스토리에 yaml 이 보이질 않아, 어쩔수없이 java 코드로 표기하긴 했지만 파일명의 확장자는 yaml 이다.  간단하게 코드 내용을 보면, redis 7.2.5 에 대한 이미지를 불러다가(불러올때는 경량화 버전인 alpine 을 쓰도록 하자),6379포트로 사용하겠다라는 의미이다. d.. 2024. 11. 1.
redis 어디까지 써봤나? feat. Goddis 이번 블로그는 redis에 대해 다뤄보려한다. redis를 현업에서도 많이 사용중일텐데 과연 어디까지 써봤을까?에 대한 주제이다. ◎ 먼저 redis 의 기본 기능에 대해...(자료구조와 주요 기능 측면)더보기키-값 저장소: Redis는 키와 값의 쌍을 저장합니다. 값은 문자열, 리스트, 셋, 해시, 정렬된 셋 등 다양한 형식이 가능문자열 (String): 가장 간단한 데이터 형식으로, 텍스트나 숫자를 저장리스트 (List): 문자열 값의 순서가 있는 리스트를 저장셋 (Set): 중복되지 않는 문자열 값을 저장정렬된 셋 (Sorted Set): 값에 Score를 매겨 정렬된 상태로 저장할 수 있는 자료구조해시 (Hash): 필드와 값의 쌍을 저장하는 데이터 구조비트맵 (Bitmap): 비트 단위로 데이터.. 2024. 8. 28.
728x90