久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合

站長資訊網(wǎng)
最全最豐富的資訊網(wǎng)站

用PHP搗鼓一個雪花算法

本文給大家聊聊雪花算法的PHP實現(xiàn),希望對需要的朋友有所幫助!

雪花算法的實現(xiàn)

最近看了下雪花算法,自己試著寫了一下

<?php class SnowFlake {     const TWEPOCH = 0; // 時間起始標(biāo)記點,作為基準(zhǔn),一般取系統(tǒng)的最近時間(一旦確定不能變動)     const WORKER_ID_BITS     = 5; // 機器標(biāo)識位數(shù)     const DATACENTER_ID_BITS = 5; // 數(shù)據(jù)中心標(biāo)識位數(shù)     const SEQUENCE_BITS      = 12; // 毫秒內(nèi)自增位     private $workerId; // 工作機器ID     private $datacenterId; // 數(shù)據(jù)中心ID     private $sequence; // 毫秒內(nèi)序列     private $maxWorkerId     = -1 ^ (-1 << self::WORKER_ID_BITS); // 機器ID最大值     private $maxDatacenterId = -1 ^ (-1 << self::DATACENTER_ID_BITS); // 數(shù)據(jù)中心ID最大值     private $workerIdShift      = self::SEQUENCE_BITS; // 機器ID偏左移位數(shù)     private $datacenterIdShift  = self::SEQUENCE_BITS + self::WORKER_ID_BITS; // 數(shù)據(jù)中心ID左移位數(shù)     private $timestampLeftShift = self::SEQUENCE_BITS + self::WORKER_ID_BITS + self::DATACENTER_ID_BITS; // 時間毫秒左移位數(shù)     private $sequenceMask       = -1 ^ (-1 << self::SEQUENCE_BITS); // 生成序列的掩碼     private $lastTimestamp = -1; // 上次生產(chǎn)id時間戳     public function __construct($workerId, $datacenterId, $sequence = 0)     {         if ($workerId > $this->maxWorkerId || $workerId < 0) {             throw new Exception("worker Id can't be greater than {$this->maxWorkerId} or less than 0");         }         if ($datacenterId > $this->maxDatacenterId || $datacenterId < 0) {             throw new Exception("datacenter Id can't be greater than {$this->maxDatacenterId} or less than 0");         }         $this->workerId     = $workerId;         $this->datacenterId = $datacenterId;         $this->sequence     = $sequence;     }     public function createId()     {         $timestamp = $this->createTimestamp();         if ($timestamp < $this->lastTimestamp) {//當(dāng)產(chǎn)生的時間戳小于上次的生成的時間戳?xí)r,報錯             $diffTimestamp = bcsub($this->lastTimestamp, $timestamp);             throw new Exception("Clock moved backwards.  Refusing to generate id for {$diffTimestamp} milliseconds");         }         if ($this->lastTimestamp == $timestamp) {//當(dāng)生成的時間戳等于上次生成的時間戳的時候             $this->sequence = ($this->sequence + 1) & $this->sequenceMask;//序列自增一次             if (0 == $this->sequence) {//當(dāng)序列為0時,重新生成最新的時間戳                 $timestamp = $this->createNextTimestamp($this->lastTimestamp);             }         } else {//當(dāng)生成的時間戳不等于上次的生成的時間戳的時候,序列歸0             $this->sequence = 0;         }         $this->lastTimestamp = $timestamp;         return (($timestamp - self::TWEPOCH) << $this->timestampLeftShift) |             ($this->datacenterId << $this->datacenterIdShift) |             ($this->workerId << $this->workerIdShift) |             $this->sequence;     }     protected function createNextTimestamp($lastTimestamp) //生成一個大于等于 上次生成的時間戳 的時間戳     {         $timestamp = $this->createTimestamp();         while ($timestamp <= $lastTimestamp) {             $timestamp = $this->createTimestamp();         }         return $timestamp;     }     protected function createTimestamp()//生成毫秒級別的時間戳     {         return floor(microtime(true) * 1000);     } } ?>

推薦學(xué)習(xí):《PHP視頻教程》

贊(0)
分享到: 更多 (0)
?
網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號
久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合
欧美黄色一区二区| 岛国av在线网站| 国产福利资源一区| 欧美综合社区国产| 日韩av中文字幕一区二区三区| 国产精品人人爽人人做我的可爱| 久久国产小视频| 国产亚洲亚洲| 9国产精品视频| 伊人久久大香伊蕉在人线观看热v| 亚洲高清毛片| 蜜臀av在线播放一区二区三区| 男女精品网站| 欧美在线日韩| 美女一区网站| 免费日韩av片| 国产经典一区| 国产精品免费99久久久| 成人免费一区| 99成人在线| 国产女人18毛片水真多18精品| 国产在视频一区二区三区吞精| 国产在线成人| 国产精品探花在线观看| 日韩国产网站| 精品网站999| 亚洲a一区二区三区| 亚洲黄色网址| 麻豆国产欧美日韩综合精品二区| 欧美激情一区| 在线天堂资源www在线污| 国内不卡的一区二区三区中文字幕| 首页国产精品| 国产精品91一区二区三区| 91精品综合| 在线国产一区二区| 亚洲精品系列| 中文字幕在线免费观看视频| 中文欧美日韩| 麻豆视频一区| 精品国产三区在线| 涩涩av在线| 国产二区精品| 韩国一区二区三区视频| 视频一区二区中文字幕| 国产传媒在线观看| 91大神在线观看线路一区| 91国内精品| 亚洲一区二区三区四区五区午夜 | 国产精品主播| 在线精品福利| 婷婷中文字幕一区| 麻豆国产精品视频| 日本va欧美va瓶| 免费黄网站欧美| 亚洲欧美网站| 午夜欧美在线| 日韩午夜在线| 国精品一区二区| 久久中文字幕av一区二区不卡| 久久av影视| 国产精品一区二区三区四区在线观看 | 欧美一区二区三区久久精品| 亚洲精品一级二级三级| 麻豆久久精品| 欧美日韩精品一区二区三区在线观看| 精品女同一区二区三区在线观看| 亚洲精品一二三区区别| 精品亚洲美女网站| 欧美不卡视频| 中文字幕乱码亚洲无线精品一区| 中文字幕日本一区二区| 国产精品magnet| av资源亚洲| 亚洲午夜免费| 精品视频免费| 免费视频久久| 国产日韩欧美一区二区三区在线观看| 国产精品一国产精品k频道56| 国产成人精品一区二区免费看京| 宅男在线一区| 久久精品高清| 奇米狠狠一区二区三区| 喷白浆一区二区| 国产欧美啪啪| 久久久免费人体| av资源中文在线天堂| 国产精品久久久久久久久久妞妞 | 久久99高清| 久久高清免费| 精品视频亚洲| 日韩二区在线观看| 丝袜诱惑制服诱惑色一区在线观看| 尤物tv在线精品| 奶水喷射视频一区| 国产精品综合色区在线观看| 亚洲一级少妇| bbw在线视频| 日韩二区在线观看| 日韩av黄色在线| 亚洲欧洲日韩精品在线| 亚洲图片久久| 热久久国产精品| 国产人成精品一区二区三| 国产精品久久久久9999高清| 91精品二区| 97精品97| 久久久久97| 丝袜美腿成人在线| 好看的亚洲午夜视频在线| 最新日韩欧美| 欧美精品福利| 久久精品国产久精国产| 欧美午夜不卡| 国产精品白丝久久av网站| 欧美精品第一区| 日韩av中文字幕一区| 四虎成人精品一区二区免费网站| 欧美激情 亚洲a∨综合| 国产一区91| 国产精品乱战久久久| 一区二区三区四区日韩| 乱人伦精品视频在线观看| 国产综合精品| 国产乱子精品一区二区在线观看| 久久久精品五月天| 国产精品三级| 尤物精品在线| 国产精品色在线网站| 欧美中文字幕一区二区| 每日更新成人在线视频| 国产激情精品一区二区三区| 国产激情在线播放| 欧美日韩xxxx| 亚洲在线国产日韩欧美| 中文字幕人成乱码在线观看| 中文字幕亚洲在线观看| 美女av在线免费看| 亚洲h色精品| 欧美精品国产| 天堂√中文最新版在线| 国产精品一区二区av交换| 99久精品视频在线观看视频| 精品国产中文字幕第一页| 亚洲先锋成人| 色爱综合网欧美| 激情久久99| 麻豆国产91在线播放| 精品一区视频| 国产传媒av在线| 91嫩草亚洲精品| 日本а中文在线天堂| 国产精品密蕾丝视频下载| 国产亚洲精aa在线看| 国产日本精品| 国产精品一在线观看| 国产精品久久久久久久久久白浆| 久久99蜜桃| 成人三级高清视频在线看| 99久精品视频在线观看视频| 亚洲一区二区三区高清| 偷拍亚洲精品| 国产日韩欧美一区二区三区 | 国产精品一区二区99| 精品国产一区二| 美女视频黄久久| 日韩欧美不卡| 亚洲一区二区三区高清不卡| 日韩精品久久久久久| 美女尤物国产一区| 国产麻豆久久| 久久亚洲美女| 欧美性www| 亚洲天堂资源| 国产视频一区免费看| 日韩av一区二区在线影视| 国产精选久久| 亚洲午夜久久久久久尤物| 日韩精品视频中文字幕| 国产一区二区三区天码| 欧美日韩精品免费观看视完整| 午夜精品亚洲| 欧美日韩网址| 天堂а√在线最新版中文在线| 国产午夜精品一区二区三区欧美| 国产色噜噜噜91在线精品 | 久久国产尿小便嘘嘘| 国产福利片在线观看| 欧美中文字幕| 免费日韩一区二区三区| 亚洲无线一线二线三线区别av| 天海翼精品一区二区三区| 97在线精品| 99在线精品免费视频九九视| 国产日本精品| 国产综合欧美| 免费看久久久| 视频一区二区三区中文字幕| 成人黄色av| 日本aⅴ亚洲精品中文乱码|