首页  >  文章  >  php教程  >  PHP下生成非重复的guid

PHP下生成非重复的guid

WBOY
WBOY原创
2016-06-06 19:43:381011浏览

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进制码,算是投机取巧了。

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn