欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

PHP下生成非重复的guid

程序员文章站 2022-05-04 22:50:49
...

PHP在多进程运行的情况下,如果不采用内存锁或者文件锁,基本没办法能解决 生成 唯一Id的问题。试过了静态变量、单例模式等等。查询到php里的uniqid()函数,最后还是找到了一个折中方式,虽然还是有可能出现 重复 的id,基本上可以在忍受访问内,唯一不好就

PHP在多进程运行的情况下,如果不采用内存锁或者文件锁,基本没办法能解决生成唯一Id的问题。试过了静态变量、单例模式等等。查询到php里的uniqid()函数,最后还是找到了一个折中方式,虽然还是有可能出现重复的id,基本上可以在忍受访问内,唯一不好就是id没有任何规律。

    /**
     * 获取唯一的guid
     * @return string 32位字符串
     */
    public static function  get_md5_id(){
        return md5(uniqid("", true));
    }

  虽然php自带的uniqid()函数基本不会出现重复,但没办法直接只用,只能md5下生成32位的16进制码,算是投机取巧了。