3 Star 12 Fork 3

纵使有花兼明月何堪无酒亦无人 / xukey

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
README.md 2.25 KB
一键复制 编辑 原始数据 按行查看 历史

xukey base on ukey 支持PHP7 请选择PHP7分支,修复内存泄露的bug

Based on the Twitter Snowflake algorithm

PHP unique ID generator

functions list:

    1. string ukey_next_id(void);
         Get the next unique ID.
    1. int ukey_to_timestamp(string ID);
         Change unique ID to timestamp.
    1. array ukey_to_machine(string ID);
         Change unique ID to machine info.

example:


<?php
$id = ukey_next_id();
echo $id;
$timestamp = ukey_to_timestamp($id);
echo date('Y-m-d H:i:s', $timestamp);
?>

install:


$  cd ./ukey
$  phpize
$  ./configure
$  make
$  sudo make install

php.ini configure entries:


[ukey]
ukey.datacenter = integer
ukey.twepoch = uint64

get_random_str


<?php
$id = get_random_str(6);
echo $id;
?>

get_random__num_str


<?php
$id = get_random__num_str(6);//only number .
echo $id;
?>

Xukey基于ukey

ukey可以看这里https://github.com/liexusong/ukey#ukey

Xukey新增了get_random_str和get_random__num_str两个函数

get_random_str可以返回一个随机的字符串,输入参数为字符串的长度

get_random__num_str可以返回一个随机的纯数字字符串,输入参数为字符串的长度

Xukey可以产生高质量的随机字符串且执行速度非常快

xukey在阿里云1G内存双核CPU服务器上面,可以1秒可以产生18W6位随机字符串,通常只有5,6个重复的字符串。具体大家可以测试一下。字符串长度越长的话,当然重复概率就越低。设置为20位的字符串,随机生成1000W次,测试了几次。没有重复的。当然理论上还是会存在重复的。只是概率比较低。我数学不好,也就不算重复出现的概率了

红薯会不会收我版权费用啊 输入图片说明

感谢: 红薯, BEAUTY

C
1
https://gitee.com/xavier007/xukey.git
git@gitee.com:xavier007/xukey.git
xavier007
xukey
xukey
master

搜索帮助