mysql中php生成唯一ID

<?php

  //uniqid官方手册
  function create_guid($namespace = ‘‘) {
     static $guid = ‘‘;
     $uid = uniqid("", true);
     $data = $namespace;
     $data .= $_SERVER[‘REQUEST_TIME‘];
     $data .= $_SERVER[‘HTTP_USER_AGENT‘];
     $data .= $_SERVER[‘REMOTE_ADDR‘];
     $data .= $_SERVER[‘REMOTE_PORT‘];
     $hash = strtoupper(hash(‘ripemd128‘, $uid . $guid . md5($data)));
     $guid = ‘{‘ .
             substr($hash,  0,  8) .
             ‘-‘ .
             substr($hash,  8,  4) .
             ‘-‘ .
             substr($hash, 12,  4) .
             ‘-‘ .
             substr($hash, 16,  4) .
             ‘-‘ .
             substr($hash, 20, 12) .
             ‘}‘;
     return $guid;
   }
?> 
时间: 2024-09-20 00:50:09

mysql中php生成唯一ID的相关文章

C# 根据twitter的snowflake算法生成唯一ID

C# 版算法: 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 7 namespace Demo 8 { 9 10 /// <summary> 11 /// 根据twitter的snowflake算法生成唯一ID 12 /// snowflake算法 64 位 13 /// 0---000

php 生成唯一id的几种解决方法

网上查了下,有很多的方法 1.md5(time() . mt_rand(1,1000000)); 这种方法有一定的概率会出现重复 2.php内置函数uniqid() uniqid() 函数基于以微秒计的当前时间,生成一个唯一的 ID. w3school参考手册有一句话:"由于基于系统时间,通过该函数生成的 ID 不是最佳的.如需生成绝对唯一的 ID,请使用 md5() 函数". 下面方法返回结果类似:5DDB650F-4389-F4A9-A100-501EF1348872 functi

PHP生成唯一ID的三种方法

1.md5(time() . mt_rand(1,1000000)); 这种方法有一定的概率会出现重复 2.php内置函数uniqid() uniqid() 函数基于以微秒计的当前时间,生成一个唯一的 ID. w3school参考手册有一句话:"由于基于系统时间,通过该函数生成的 ID 不是最佳的.如需生成绝对唯一的 ID,请使用 md5() 函数". 下面方法返回结果类似:5DDB650F-4389-F4A9-A100-501EF1348872 com_create_guid()是p

PHP获取时间戳和微秒数以及生成唯一ID

microtime函数 描述:返回当前Unix时间戳和微秒数 语法:mixed microtime( [ bool $get_as_float ] ) //直接输出 echo microtime(); //得到的是 如:0.26672100 1585622985 前面是当前微秒数,后面是正常时间戳,中间以空格分隔开 //如果带有参数(布尔型参数) echo microtime(true); //输出结果:1585623020.7408 刚才的微秒数就会以浮点数的形式表现在原有的时间戳之后 浮点数

python学习之-- 生成唯一ID

以下以2种方法生成唯一ID def uuid_method(): """第一种方法""" import uuid return str(uuid.uuid1()) print(uuid_method()) def time_method(): """第二种方法""" import time, hashlib m = hashlib.md5() m.update(bytes(str(tim

PHP生成唯一ID的方法

PHP自带生成唯一id的函数:uniqid() 它是基于当前时间微秒数的 用法如下: echo uniqid(); //13位的字符串 echo uniqid("php_"); //当然你可以加上前缀 echo uniqid("php_", TRUE); //如果第二个参数more_entropy为true则生成23位字符串 但是它生成的标识有可能不是唯一的,所以很多人会: //这是第一种简单的方法,当然用sha1()函数也可以. echo md5(uniqid()

生成唯一id

有时候在某些业务中需要先生成一个唯一id,然后再进行存储.可以使用一下的方法: 1.借助mysql或者redis这类能够自增的数据库 这种方式可以满足需求但是需要跟数据库有一次额外的操作.对性能有一定的影响 2.毫秒级的时间加上一个随机数. 这种方式不需要借助数据,性能高些,但是随机数可能会重复,所以结果可能不是全局唯一的 3.毫秒级的时间加上进程id 这种方式可以既满足性能,又是唯一的 对于多核的cpu,每个cpu可以同时执行不同的进程,而每个进程有唯一的id,所以时间可能相同,但是进程的id

生成唯一id写法,雪花算法

这个工具直接调用就可以了,用法和写法如下: 代码: 这个是雪花算法的写法: 1 public class SnowFlakeUtil { 2 3 /** 4 * 起始的时间戳 5 */ 6 private final static long START_STMP = 1480166465631L; 7 8 /** 9 * 每一部分占用的位数 10 */ 11 private final static long SEQUENCE_BIT = 12; //序列号占用的位数 12 private fi

【Python】 uuid生成唯一ID

uuid uuid是128位的全局唯一标识符(univeral unique identifier),通常用32位的一个字符串的形式来表现.有时也称guid(global unique identifier).python中自带了uuid模块来进行uuid的生成和管理工作.(具体从哪个版本开始有的不清楚..) python中的uuid模块基于信息如MAC地址.时间戳.命名空间.随机数.伪随机数来uuid.具体方法有如下几个: uuid.uuid1() 基于MAC地址,时间戳,随机数来生成唯一的u