当前位置: 首页 > news >正文

网站推广成功案例/中国百强企业榜单

网站推广成功案例,中国百强企业榜单,商城网站开发多少钱,小榄公司网站建设在分布式系统中,需要生成全局UID的场合还是比较多的,twitter的snowflake解决了这种需求,实现也还是很简单的,除去配置信息,核心代码就是毫秒级时间41位机器ID 10位毫秒内序列12位。twitter的分布式自增id算法snowflake…

0efeee990250d48f9f82df31752a7e0c.png

在分布式系统中,需要生成全局UID的场合还是比较多的,twitter的snowflake解决了这种需求,实现也还是很简单的,除去配置信息,核心代码就是毫秒级时间41位+机器ID 10位+毫秒内序列12位。

twitter的分布式自增id算法snowflake,每秒能产生20w+的自增id,也适用于php。

2    class Idwork

3    {

4    const debug = 1;

5    static $workerId;

6    static $twepoch = 1361775855078;

7    static $sequence = 0;

8    const workerIdBits = 4;

9    static $maxWorkerId = 15;

10    const sequenceBits = 10;

11    static $workerIdShift = 10;

12    static $timestampLeftShift = 14;

13    static $sequenceMask = 1023;

14    private  static $lastTimestamp = -1;

15

16    function __construct($workId){

17    if($workId > self::$maxWorkerId || $workId

18    {

19    throw new Exception("worker Id can't be greater than 15 or less than 0");

20    }

21    self::$workerId=$workId;

22

23    echo 'logdebug->__construct()->self::$workerId:'.self::$workerId;

24    echo '';

25

26    }

27

28    function timeGen(){

29    //获得当前时间戳

30    $time = explode(' ', microtime());

31    $time2= substr($time[0], 2, 3);

32    $timestramp = $time[1].$time2;

33    echo 'logdebug->timeGen()->$timestramp:'.$time[1].$time2;

34    echo '';

35    return  $time[1].$time2;

36    }

37    function  tilNextMillis($lastTimestamp) {

38    $timestamp = $this->timeGen();

39    while ($timestamp <= $lastTimestamp) {

40    $timestamp = $this->timeGen();

41    }

42

43    echo 'logdebug->tilNextMillis()->$timestamp:'.$timestamp;

44    echo '';

45    return $timestamp;

46    }

47

48    function  nextId()

49    {

50    $timestamp=$this->timeGen();

51    echo 'logdebug->nextId()->self::$lastTimestamp1:'.self::$lastTimestamp;

52    echo '';

53    if(self::$lastTimestamp == $timestamp) {

54    self::$sequence = (self::$sequence + 1) & self::$sequenceMask;

55    if (self::$sequence == 0) {

56        echo "###########".self::$sequenceMask;

57        $timestamp = $this->tilNextMillis(self::$lastTimestamp);

58        echo 'logdebug->nextId()->self::$lastTimestamp2:'.self::$lastTimestamp;

59        echo '';

60      }

61    } else {

62    self::$sequence  = 0;

63        echo 'logdebug->nextId()->self::$sequence:'.self::$sequence;

64        echo '';

65    }

66    if ($timestamp 

67       throw new Excwption("Clock moved backwards.  Refusing to generate id for ".(self::$lastTimestamp-$timestamp)." milliseconds");

68       }

69    self::$lastTimestamp  = $timestamp;

70    echo 'logdebug->nextId()->self::$lastTimestamp3:'.self::$lastTimestamp;

71    echo '';

72

73    echo 'logdebug->nextId()->(($timestamp - self::$twepoch <

74    echo '';

75    $nextId = ((sprintf('%.0f', $timestamp) - sprintf('%.0f', self::$twepoch)  )) | ( self::$workerId <

76    echo 'timestamp:'.$timestamp.'-----';

77    echo 'twepoch:'.sprintf('%.0f', self::$twepoch).'-----';

78    echo 'timestampLeftShift ='.self::$timestampLeftShift.'-----';

79    echo 'nextId:'.$nextId.'----';

80    echo 'workId:'.self::$workerId.'-----';

81    echo 'workerIdShift:'.self::$workerIdShift.'-----';

82    return $nextId;

83    }

84

85    }

86    $Idwork = new Idwork(1);

87    $a= $Idwork->nextId();

88    $Idwork = new Idwork(2);

89    $a= $Idwork->nextId();

90    ?>

http://www.jmfq.cn/news/4787857.html

相关文章:

  • 广州番禺服装网站建设/谷歌seo关键词优化
  • 湖南常德天气/seo排名优化厂家
  • 可以做fiting网站/网络营销策划书应该怎么写
  • 做视频的素材网站/网络营销案例
  • 大连金州网站建设/网站优化检测
  • 做网站写个人日志/可以发广告的平台
  • 做网站排名费用多少/有效的网络推广
  • 域名和网站/最新的全国疫情数据
  • 小手工制作简单又漂亮/seo怎么读
  • 微网站制作工具有哪些/深圳推广公司哪家最好
  • 沙河网站建设/搜狗搜索旧版本
  • 做网站价格和配置/seo都用在哪些网站
  • 做网站后台都要自己写吗/销售怎么做
  • 国外做仿牌网站/网站权重一般有几个等级
  • 深圳网站建设高端/百度网盘网页版官网
  • 自己电脑做网站服务器系统/2021近期时事新闻热点事件简短
  • 万州哪里有做网站的/专业制作网站的公司哪家好
  • 要看网现在的地址是多少/东莞seo排名外包
  • 随州什么公司做网站/seo1域名查询
  • 完整的网站开发/百度seo怎么操作
  • 佛山教育平台网站建设/广告网站策划方案
  • 福建大舟建设集团有限公司 网站/江门网站建设模板
  • 空调维修技术支持东莞网站建设/打开一个网站
  • 专门做影评的网站/东莞今日新闻大事
  • 网站如何解除绑定域名/永久域名查询
  • 深圳建设工程交易网站官网/seo交流qq群
  • 写作教学网站/百度seo竞价推广是什么
  • 国外做游戏h动画的网站/网店推广软文范例
  • 在线客服系统哪个好/网站点击排名优化
  • 目前会展相关网站的建设情况/广告海外推广