>  기사  >  데이터 베이스  >  Redis 클러스터 잠금을 사용하는 경우

Redis 클러스터 잠금을 사용하는 경우

(*-*)浩
(*-*)浩원래의
2019-06-17 10:28:222266검색

최근 플랫폼 캐시 사용을 표준화할 때 많은 기업에서 리드 분산 잠금을 사용하는 것을 발견했지만 몇 가지 공통적인 세부 문제가 있습니다. 이러한 문제를 기반으로 이 기사에서는 분산 잠금의 일반적인 문제를 요약하려고 합니다.

Redis 클러스터 잠금을 사용하는 경우

독립형 환경인 경우 동시성 문제로 java에서 제공하는 동기화 또는 Lock을 직접 사용하여 구현할 수 있습니다. 여러 프로세스 환경이 관련되어 있는 경우 타사 시스템을 사용하여 잠금 메커니즘을 제공해야 합니다. (추천 학습: Redis 동영상 튜토리얼)

redis는 캐싱 미들웨어 시스템으로 이러한 분산(클러스터) 서비스를 제공할 수 있습니다. 잠금 메커니즘의 핵심은 Redis에서 피트를 점유하는 것입니다. 다른 프로세스가 피트를 점유하려고 하고 그것이 점유되었음을 발견하면 기다렸다가 나중에 다시 시도하기만 하면 됩니다.

Java에서는 일반적으로 다음과 같이 사용합니다.

boolean result = jedis.setnx("lock-key",String.valueOf(System.currentTimeMillis()))== 1L;
if  (result) {
    try {
        // do something
    } finally {
        jedis.del("lock-key");
    }
 }

Redis 관련 기술 기사를 더 보려면 #🎜🎜을 방문하세요. # Redis 데이터베이스 컬럼 사용에 대한 입문 튜토리얼에서 알아보세요!

위 내용은 Redis 클러스터 잠금을 사용하는 경우의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.