JD.com에서 100만개의 쿠폰을 생성하는 알고리즘 문제

WBOY
풀어 주다: 2016-08-20 09:04:04
원래의
2119명이 탐색했습니다.

Jingdong은 100만 개의 쿠폰을 생성하며, 쿠폰 번호 접두어는 QA입니다(예: QAK001, QA0U767, QAJUT55, 임의 쿠폰 번호). 100만 개의 고유 쿠폰을 생성하려면 어떤 알고리즘을 사용할 수 있나요? 이 100만 개의 쿠폰 번호를 데이터베이스나 캐시에 저장해야 합니까?

답글 내용:

Jingdong은 100만 개의 쿠폰을 생성하며, 쿠폰 번호 접두어는 QA입니다(예: QAK001, QA0U767, QAJUT55, 임의 쿠폰 번호). 100만 개의 고유 쿠폰을 생성하려면 어떤 알고리즘을 사용할 수 있나요? 이 1백만 개의 쿠폰 번호를 데이터베이스나 캐시에 저장해야 합니까?

블룸필터 알고리즘을 참고하시면 됩니다

UUID를 권장합니다.

<code>function guid(){
    if (function_exists('com_create_guid')){
        return com_create_guid();
    }else{
        mt_srand((double)microtime()*10000);//optional for php 4.2.0 and up.
        $charid = strtoupper(md5(uniqid(rand(), true)));
        $hyphen = chr(45);// "-"
        $uuid = chr(123)// "{"
                .substr($charid, 0, 8).$hyphen
                .substr($charid, 8, 4).$hyphen
                .substr($charid,12, 4).$hyphen
                .substr($charid,16, 4).$hyphen
                .substr($charid,20,12)
                .chr(125);// "}"
        return $uuid;
    }
}</code>
로그인 후 복사
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿