긴 체인을 생각하는 것은 짧은 체인을 생성

문자 메시지, 짧은 체인 긴 체인을 변환 할 필요가에,이 시간을 점프 링크를 가지고 푸시 필요 같은 일부 비즈니스 시나리오,

얼마나 사슬 전달 짧은 체인? 사실, 장쇄 및 단쇄 프로세스 아무 생성되지 않는 유일한 접촉 나중에 생성 DO와 연관된

1 : 단쇄 생성

기본 여섯 짧은 체인에 의해 생성 된 온라인 실무뿐만 아니라, 기존의 두 방식의 아마 비교, 결합

방법 : + 간단한 알고리즘을 이동하여 난수를 생성

첫 번째 단계 : 변화를 수행하고 임의의 숫자 0,1 추가

위한 ( INT 난 = 0; I <36; I ++ ) {
     INT 랜덤 = random.nextInt (2 ); 
    난수가 난수를 + = (난수 << 1 ); 
}

0,1 플러스 난수는 충돌을 방지하기 위해, 이것의 충돌 확률은 수신 범위에 속하는 약 1/2 (36)의 힘이다

지금까지, 난수 난수를 생성하고있다, 왜주기를 36 회에 관해서는, 말에 간다 

두번째 단계 : 단쇄 난수를 매핑 6

위한 (INT 난 = 0; I <6; I ++) { 
     charList.append (char62 [(INT) (K 및 난수)]); 
randomNum = (randomNum >> 6);
}  

K는 무엇입니까? K 꺼내어 그와 대응 이진 0x3F입니다 63,16이고 62 개 진수 숫자를 얻기 위해, 난수 연산을 수행

62 어림 구성 : 26 대문자 소문자 +26 +10 자리

난수의 상단에 대응하는 생성이어서 randomNum 권 6, 36 사이클 및

36 사이클 각각은 임의의 심볼 출력의 조합에 대응하는 6 개의 부분으로 분할 0

두 번째 방법은 상기 신호 송신부

데이터베이스에서 기본 키 ID를 이용하여 이러한 방식으로, 그 ID가이 문서에서는 62 개 진 숫자 6에 매핑

https://blog.csdn.net/xlgen157387/article/details/80026452 

이러한 방법으로, 분산 발전의 경우뿐만 아니라 압력 데이터를 고려합니다. 개인의 생각은 잎 발생기 미국 그룹을 참조 할 수 있습니다, 세그먼트 걸릴

여기에, 짧은 체인이 생성되었지만, 짧고 긴 체인이 어떻게 매핑?

2 : 길고 짧은 체인 매핑

해당 관계는 확실히 데이터베이스에 지속 할 수 있지만, 시간의 많은 양의 복잡되면, 압력은 캐시의 사용을 고려할 필요가 상대적으로 큰 데이터베이스이며, 그들은 그것을 저장하기 위해 모든 매핑 관계를 넣을 수없는 경우에 우선 순위를 사용 레디 스.

그것은 여전히 ​​긴, 고유 키 만들어진 서브 미터의 MD5 짧은 사슬 체인, 문제의 일부를 해결하기 위해 기본 하위 테이블에 의존 할 필요가있다. 여기에 유일한 핵심적인 역할 짧은 체인 충돌, 짧은 체인 충돌시에 시도 할 수 방지하는 것입니다.

캐시에있는 우리의 장기 및 단기 체인 사이에 매핑이있다, 그들은이다 최근에 사용 된 원칙과 일치 간주 될 수있다, 우리는 캐시의 장기 및 단기 체인 매핑 만 "핫스팟"을 유지 크게 줄일 수 있습니다 캐시의 크기

추천

출처www.cnblogs.com/at20191018/p/12168241.html