1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/xavier007-xukey

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Xukey на основе ukey

Поддерживает PHP7. Пожалуйста, выберите ветку PHP7 и исправьте ошибку с утечкой памяти.

На основе алгоритма Twitter Snowflake

PHP генератор уникальных идентификаторов

Список функций:

  1. string ukey_next_id (void); Получить следующий уникальный идентификатор.

  2. int ukey_to_timestamp (string ID); Преобразовать уникальный идентификатор в метку времени.

  3. 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 )

Вы можете оставить комментарий после Вход в систему

Введение

PHP: высококачественные случайные строки и числа. На основе ukey была разработана функция, которая генерирует случайные строки. Можно создавать строки из букв и цифр или только из цифр. Также можно задать длину строки. Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/xavier007-xukey.git
git@api.gitlife.ru:oschina-mirror/xavier007-xukey.git
oschina-mirror
xavier007-xukey
xavier007-xukey
master