분산 잠금 최근의 합을 레디 스 프로젝트에서 사용하는 많은 수의 몇 년 전에이 springboot 통합 redisson 시작을 시작합니다.
Redisson 자바 인 메모리 데이터 그리드 (인 - 메모리 데이터 그리드)의 레디 스를 기초로 구현됩니다. 그것은 일반적으로 사용되는 자바 분산 객체의 시리즈는 분산 된 서비스를 제공합니다 제공뿐만 아닙니다. 포함 ( BitSet
, Set
, Multimap
, SortedSet
, Map
, List
, Queue
, BlockingQueue
, Deque
, BlockingDeque
, Semaphore
, Lock
, AtomicLong
, CountDownLatch
, Publish / Subscribe
, Bloom filter
, Remote service
, Spring cache
, Executor service
, Live Object service
, Scheduler service
) Redisson는 레디 스의 가장 간단하고 편리한 방법을 제공합니다.
첫째, Maven을 추가 할 의존
pom.xml 파일을 다음과 같이 추가
<의존성>
<의 groupId> org.redisson </의 groupId>
<artifactId를> redisson 스프링 부팅 스타트 </ artifactId를>
<version>은 3.11.5 </ 버전>
</ 의존성>
둘째, 구성 파일 YML을 수정
구성하려면 RedissonAutoConfiguration 아래 스타터 팩을 볼 수있는 방법에 관해서는, RedissonProperties 클래스는 매개 변수를 설정할 필요가 무엇을 배울 것입니다.
당신이 매개 변수를 설정하는 데 필요한 이해 한 후, springboot 구성 파일에 다음 설정을 추가 :
봄 :
레디 스 :
redisson :
설정을 "클래스 경로 : redisson.yml"
그런 다음, 자원 디렉토리 새로운 redisson.yml 파일에 다음과 같은 구성을 추가
clusterServersConfig : idleConnectionTimeout : 10000 대해 connecttimeout : 10000 시간 제한 : 3000 retryAttempts : 3 RetryInterval을 : 1500 failedSlaveReconnectionInterval : 3000 failedSlaveCheckInterval : 60000 암호 : 널 subscriptionsPerConnection : 5 CLIENTNAME : 널 로드 밸런서! < org.redisson.connection.balancer.RoundRobinLoadBalancer > {} subscriptionConnectionMinimumIdleSize 1 subscriptionConnectionPoolSize 50 slaveConnectionMinimumIdleSize 24 slaveConnectionPoolSize 64 masterConnectionMinimumIdleSize 24 masterConnectionPoolSize 64 readMode "SLAVE" subscriptionMode : "SLAVE" nodeAddresses : - "레디 스 : //192.168.35.142 : 7002" - "레디 스 : //192.168.35.142 : 7001" - "레디 스 : //192.168.35.142 : 7000" 에서 ScanInterval : 1,000 pingConnectionInterval : 0 KEEPALIVE : FALSE tcpnodelay yes를 : FALSE 스레드 16 nettyThreads 32 코덱! < org.redisson.codec.FstCodec > {} transportMode : "NIO"
다음과 같이 또한, 모든 직접 구성 springboot 구성 파일을 (권장하지 않음) 쓸 수있다 :
봄 : 레디 스 : redisson : 설정 : clusterServersConfig : idleConnectionTimeout : 10000 대해 connecttimeout : 10000 시간 제한 : 3000 retryAttempts : 3 RetryInterval을 : 1500 failedSlaveReconnectionInterval : 3000 failedSlaveCheckInterval : 60000 암호 : 널 subscriptionsPerConnection : 5 CLIENTNAME : 널 로드 밸런서! < org.redisson.connection. balancer.RoundRobinLoadBalancer > {} subscriptionConnectionMinimumIdleSize : 1! slaveConnectionMinimumIdleSize : 24 slaveConnectionPoolSize : 64 masterConnectionMinimumIdleSize : 24 masterConnectionPoolSize : 64 readMode : "SLAVE" subscriptionMode : "SLAVE" nodeAddresses : - "레디 스 : //192.168.35.142 : 7002" - "레디 스 : //192.168.35.142 : 7001" - " 레디 스 : //192.168.35.142 : 7000 " 에서 ScanInterval : 1000 pingConnectionInterval : 0 킵 얼라이브 : 거짓 tcpnodelay yes를 : 거짓 스레드 : 16 nettyThreads : 32 코덱 :! < org.redisson.codec.{} transportMode : "NIO"
셋째, 실행 시작
제공되는 다음 로그 경우, 프로젝트를 시작, 그리고 후에는 통합의 성공을 나타냅니다
성공적으로 통합 한 후,에 의해 RedisTemplate 에 의한 데이터 및 기타 작업, 가능한 추가 및 삭제 RedissonClient 다양한 잠금을 획득, 하나 제공하는 다양한 분산 잠금 RedissonClient을 사용하는 방법에 대해 설명합니다.