Xukey на основе ukey
Поддерживает PHP7. Пожалуйста, выберите ветку PHP7 и исправьте ошибку с утечкой памяти.
На основе алгоритма Twitter Snowflake
PHP генератор уникальных идентификаторов
Список функций:
string ukey_next_id (void); Получить следующий уникальный идентификатор.
int ukey_to_timestamp (string ID); Преобразовать уникальный идентификатор в метку времени.
array ukey_to_machine (string ID); Преобразовать уникальный идентификатор в информацию о машине.
Пример:
<?php
$id = ukey_next_id();
echo $id;
$timestamp = ukey_to_timestamp($id);
echo date('Y-m-d H:i:s', $timestamp);
?>
Установка:
$ cd ./ukey
$ phpize
$ ./configure
$ make
$ sudo make install
Конфигурация в php.ini:
[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. Xukey добавляет две новые функции: get_random_str и get_random__num_str.
Функция get_random_str возвращает случайную строку, а параметр — длина строки. Функция get_random__num_str возвращает случайное число в виде строки, а параметр также определяет длину строки.
Xukey может генерировать высококачественные случайные строки с очень высокой скоростью. На сервере Alibaba Cloud с 1 ГБ памяти и двухъядерным процессором можно сгенерировать 18 миллионов 6-битных случайных строк за секунду, обычно только 5 или 6 повторяющихся строк. Конечно, чем длиннее строка, тем ниже вероятность повторения. Если установить длину строки равной 20 битам и случайным образом сгенерировать 1000 миллионов строк, то после нескольких тестов повторений не было. Теоретически повторения всё ещё возможны, но вероятность крайне мала. Я не силён в математике, поэтому не буду рассчитывать вероятность повторений.
Будет ли автор собирать плату за авторские права?
Благодарности: Автор, BEAUTY
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )