먼저 Redis-Cluster 폴더를 만듭니다.
Redis는 최소 6 개의 노드 (3 명의 마스터와 3 개의 노예)가 필요하기 때문에 더 잘 이해하기 위해 2 개의 가상 머신 (192.168.0.109 192.168.0.110)을 만들었고 각각 2 개의 가상 머신의/opt/redis-4.0.1/redis-cluster 아래에서 3 개의 노드 폴더를 만들었습니다.
192.168.0.109 :
192.168.0.110 :
위의 6 개의 노드가 모두 생성되고 Redis.conf 구성 파일 이이 6 개의 폴더에서 생성되며 구성은 그림과 같이 표시됩니다.
포트 7000bind 192.168.0.109daemonize 예 yespidfile /var/run/redis_7000.pidcluster-enabled 예 Cluster-config-file modes_7000.confcluster-node-timeout 10000appendonly 예
그중에서도 노드 포트 번호로 일관된 포트 PidFile 클러스터-콘 피그 파일을 수정하고 원격 액세스를 위해 IP에 바인딩해야합니다. 모든 수정이 완료되면 Redis 서비스를 시작할 수 있습니다.
명령 시작 :
192.168.0.109 하의 명령 : "((i = 0; i <= 2; i ++)); do /opt/redis-4.0.1/src/redis-server/opt/redis-4.0.1/redis-cluster/700$/redis.conf;
192.168.0.110에 따른 명령 : "((i = 3; i <= 5; i ++)); do /opt/redis-4.0.1/src/redis-server/opt/redis-4.0.1/redis-cluster/700$/redis.conf;
로그 인쇄가 백그라운드 모드에서 성공적으로 시작되었으며 시스템은 이틀 동안 모든 노드를 차례로 시작해야합니다. 노드가 시작되면 클러스터 서비스를 만들 수 있습니다.
가상 머신 중 하나에서 다음 명령을 실행하십시오. 192.168.0.110:7005 "
하나의 컴퓨터에서만 실행하는 것을 잊지 마십시오. 결합에 갇혀 있고 아래쪽으로 실행할 수없는 경우 일반적으로 방화벽 포트가 금지되어 발생합니다. 그것을 해결하는 방법에는 두 가지가 있습니다.
1. 7000 외부 포트를 열어야 할뿐만 아니라 17000을 열어야합니다 (Redis 버스 포트를 1000 개 추가해야하기 때문에).
2. 모든 방화벽을 직접 끄십시오 (여기서 내 환경이므로 방화벽 서비스를 직접 끕니다).
위의 그림 실행 로그가 나타나고 클러스터 서비스는 기본적으로 성공적으로 구축되며 각 노드의 마스터 슬레이브 관계를 명확하게 볼 수 있습니다. 환경이 구축되면 이전 기사에서 쓴 SSM 아키텍처와 함께 사용합니다.
지난번에 통합 된 Mybaits Level 2 캐시는 독립형 버전입니다. 이 방법은 클러스터를 지원하지 않기 때문에 Jedis-Cluster를 사용하여 Redis 클러스터와 Java를 통합합니다.
먼저 Redis.Properties 파일에 클러스터 시스템의 구성을 추가하고 6 개의 노드를 구성에 추가하십시오.
#무리 cluster1.host.port = 192.168.0.109 : 7000cluster2.host.port = 192.168.0.109 : 7001cluster3.host.port = 192.168.0.109 : 7002 cluster4.host.port = 192.168.0.110 : 7003Cluster5.host.port = 192.168.0.110 : 7004Cluster6.host.port = 192.168.0.110 : 7005
Redis 구성 파일도 이전의 구성에서 많이 변경되었습니다. 직접 나열되어 직접 복사하여 사용할 수 있습니다.
Spring-Redis.xml
<beans xmlns = "http://www.springframework.org/schema/beans"xmlns : xsi = "http://www.w3.org/2001/xmlschema-instance"xmlns : p = "http://www.spramframframwork.org/pramwerk.org/pramwork.org. xmlns : mvc = "http://www.springframework.org/schema/mvc"xmlns : util = "http://www.springframework.org/schema/util"xmlns : aop = "http://www.spramframwork.org/schema/op. xmlns : context = "http://www.springframework.org/schema/context"xmlns : task = "http://www.springframework.org/schema/task"xsi : schemalocation = "http://www.springframwork.org/schema/schema/schema http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.3.xsd http://www.spramework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd http://www.springframework.org/schema/aop http://www.spramework.org/schema/aop/sprring-4.3.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd "> <!-데이터베이스 연결 풀과 유사한 기본 매개 변수 구성 풀의 기본 매개 변수 구성. <bean name = "genericobjectpoolconfig"> <property name = "maxwaitmillis"value = "-1" /> <속성 이름 = "maxtotal"value = "1000" /> <property name = "minidle"value = "8" /> <property name = "maxidle"value = "100" />> <! id = "jedisconnectionfactory"> <속성 이름 = "hostname"value = "$ {redis.host}"> </property> <속성 이름 = "port"value = "$ {redis.port}"> </property> <속성 이름 = "valess"value = "$ {redis.pass}"> </property name = "poolconfig" "poolconfig" "poolconfig" -> <!-전화 연결 풀 공장 구성-> <!-<bean id = "redistemplate"> <property name = "jedisconnectionfactory"ref = "jediscontectionfactory"> </property> Serializer가 구성되지 않으면 저장할 때 지능적으로 문자열을 사용하십시오. 사용자 유형을 사용하여 저장하면 오류 사용자가 문자열로 캐스트 할 수 없습니다! ! ! <property name = "keyserializer"> <bean/> </property> <property name = "valueerializer"> <bean/> </property> </bean> -> <bean id = "jediscluster"> <property name = "jesdrconfig"> <value> classpath : redis.properties> </value> <property name> <property name = "" "" "" "" "". " value = "300000" /> <속성 이름 = "maxredirections"value = "6" /> <속성 이름 = "genericobjectpoolconfig"ref = "genericobjectpoolconfig" /> < /bean> < /beans>이전 SSM+Redis 통합에서 MyBatis의 모든 캐시 구성을 비활성화하여 서비스 테스트를 시작합니다.
먼저, Jediscluster를 직접 주입하여 클러스터 객체를 얻습니다.
편의를 위해 Java에서 데이터를 동기화하기 위해 간단한 아이디어를 작성했으며 Spring AOP 구현, 타사 플러그인 또는 데이터베이스 수준 구현과 같은 다른 방법을 구현할 수도 있습니다.
성공적인 시작 후이 방법을 반복적으로 호출합니다. 콘솔이 SQL 문을 인쇄하지 않지만 Redis 클러스터에서 데이터를 직접 얻는다는 것을 알 수 있습니다. 위의 간단한 Redis 클러스터 인스턴스가 완료되었습니다. 시간 제약으로 인해 Linux에 약간의 함정을 자세히 작성하지 않았습니다.
요약
위는 Redis 클러스터 및 SSM의 통합 사용 방법입니다. 나는 그것이 당신에게 도움이되기를 바랍니다. 궁금한 점이 있으면 메시지를 남겨 주시면 편집자가 제 시간에 답장을 드리겠습니다. Wulin.com 웹 사이트를 지원해 주셔서 대단히 감사합니다!