"Redis 클러스터 (설치 및 사용)"

Redis 클러스터

클러스터를 구축하는 이유

  • 일반적으로 웹 사이트 응답 속도를 향상시키기 위해 핫 데이터는 백엔드 데이터베이스에서 직접 읽는 대신 항상 메모리에 저장됩니다.
  • Redis는 좋은 캐시 도구입니다. 대규모 웹 사이트 응용 프로그램의 경우 핫 데이터의 양이 많은 경우가 많으며 수십 기가 바이트에서 수백 기가 바이트에 해당하는 것이 정상입니다.
  • Redis는 캐시 데이터베이스 역할을합니다. 그러나 데이터 저장소의 일관성을 보장하는 방법은 현재 redis 클러스터를 구축해야합니다. 합리적인 메커니즘을 사용하여 사용자의 정상적인 액세스 요구를 보장합니다.
  • redis 클러스터를 사용하면 분산 된 데이터 저장을 보장하는 동시에 데이터 저장의 일관성을 보장 할 수 있으며 고 가용성 메커니즘을 내부적으로 구현하고 서비스 장애의 자동 마이그레이션을 실현합니다.

클러스터 구축 계획

  • 마스터-슬레이브 부문 :

3台主机 3台从机共6台 端口划分7000-7005

전제

우리는 리눅스에서 빌드하고 작업 디렉토리는

/usr/local/src/redis

클러스터 구축

1. 클러스터 폴더 준비

1.1

mkdir cluster

1.2

在cluster文件夹中分别创建7000-7005文件夹
mkdir 7000 7001 7002 7003 7004 7005

2. 구성 파일 복사

기술:

redis 루트 디렉토리의 redis.conf 파일을 cluster / 7000 /에 복사하고 원래 이름으로 저장합니다.

cp redis.conf cluster/7000/

3. 구성 파일 편집

  • 1- 로컬 바인딩 IP 주소 기록
    여기에 사진 설명 삽입
  • 2- 보호 모드 끄기
    여기에 사진 설명 삽입
  • 3- 포트 번호 수정
    여기에 사진 설명 삽입
  • 4- 시작 백그라운드 시작
    여기에 사진 설명 삽입
  • 5-pid 파일 수정
    여기에 사진 설명 삽입
  • 6- 영구 파일 경로 수정
    여기에 사진 설명 삽입
  • 7 세트 메모리 최적화 전략
    여기에 사진 설명 삽입
  • 8-AOF 모드 끄기
    여기에 사진 설명 삽입
  • 9- 클러스터 구성 열기
    여기에 사진 설명 삽입
  • 10- 클러스터 구성 파일 열기
    여기에 사진 설명 삽입
  • 11- 클러스터 제한 시간 수정
    여기에 사진 설명 삽입

4. 수정 된 구성 파일 복사

기술:

7000 폴더의 redis.conf 파일을 각각 7001-7005에 복사합니다.
[root@localhost cluster]# cp 7000/redis.conf  7001/
[root@localhost cluster]# cp 7000/redis.conf  7002/
[root@localhost cluster]# cp 7000/redis.conf  7003/
[root@localhost cluster]# cp 7000/redis.conf  7004/
[root@localhost cluster]# cp 7000/redis.conf  7005/

5. 일괄 수정

기술:

7001-7005 파일의 7000을 해당 포트 번호의 이름으로 각각 변경하고 수정할 때 화살표 키 사용에주의하십시오.

방법:

vim 명령을 통해 구성 파일을 입력하고 다음 vim 명령을 입력하십시오.

:%s/7000/700/g

구성 파일의 7000을 70001로 변경하고 그 뒤에있는 g는 모두

6. 스크립트를 통해 시작 / 종료 지침 편집

1- 시작 스크립트 만들기

vim start.sh

여기에 사진 설명 삽입
2- 닫힌 스크립트 편집

vim  shutdown.sh

여기에 사진 설명 삽입
3- redis 노드 시작

sh start.sh

4- redis 노드가 정상적으로 시작되었는지 확인

ps -eg | grep redis

여기에 사진 설명 삽입

7. redis 클러스터 생성

#5.0版本执行 使用C语言内部管理集群
redis-cli --cluster create --cluster-replicas 1 192.168.35.130:7000 192.168.35.130:7001 192.168.35.130:7002 192.168.35.130:7003 192.168.35.130:7004 192.168.35.130:7005

– 클러스터-복제본 1 : 마스터 1 개와 슬레이브 1 개를 나타냅니다.

여기에 사진 설명 삽입
클러스터링을 원하는지 물어보고 yes를 입력합니다.
여기에 사진 설명 삽입

마스터 ---- 마스터
슬레이브 ---- 슬레이브
0-5460 ---- 슬롯 (각 마스터에 할당 된 슬롯)
16384 ---- 총 16384 개 슬롯

테스트 클러스터

여기에 사진 설명 삽입
명령어 : (redis 입력 후 Enter)

info replication

역할-슬레이브 또는 호스트 마스터 (호스트) 슬레이브 (슬레이브)
포트를 나타냅니다.


SpringBoot는 Redis 클러스터를 통합합니다.

속성 구성 파일 편집

여기에 사진 설명 삽입

#准备6个redis节点
# redis集群的节点
redis.nodes=192.168.126.131:7000,192.168.126.131:7001,192.168.126.131:7002,192.168.126.131:7003,192.168.126.131:7004,192.168.126.131:7005

구성 클래스 편집

여기에 사진 설명 삽입
여기에 사진 설명 삽입

포트 번호와 노드 주소를 가져오고 다음 코드를 작성하십시오.
    @Bean   //将方法的返回值结果,交给spring容器进行管理.
    public JedisCluster jedisCluster(){
    
    
        Set<HostAndPort> nodesSet= new HashSet<>();
        String[] nodeArray=nodes.split(",");
        for (String node : nodeArray){
    
    
            String host = node.split(":")[0];
            int port = Integer.parseInt(node.split(":")[1]);
            HostAndPort hostAndPort = new HostAndPort(host, port);
            nodesSet.add(hostAndPort);
        }
        return new JedisCluster(nodesSet);
    }

CacheAOP 수정

여기에 사진 설명 삽입
여기에 사진 설명 삽입

추천

출처blog.csdn.net/weixin_45103228/article/details/113790823