mysql — генерация короткого уникального ссылочного идентификатора с помощью функции PHP uniqid

Моя цель — создать уникальный идентификатор, прикрепить его к записи и сохранить в БД. Идентификатор должен быть буквенно-цифровым и коротким. Я не хочу использовать автоинкрементный способ генерации идентификаторов, так как этот идентификатор будет прикреплен к концу URL, поэтому я не хочу, чтобы он был угадываемым. После некоторых исследований я решил использовать uniqid (), так как понял, что он генерируется в зависимости от времени.

Меня беспокоит, будет ли он уникальным для всей системы, и есть ли шанс для
идентификатор будет повторяться, если я собираюсь масштабировать мою систему, используя несколько серверов и кластеризацию ??

Я не хочу делать повторную проверку перед вставкой значения в БД, так как это может повлиять на производительность с течением времени по мере увеличения количества записей.

Я использую Larvel Framework. Может кто-нибудь предложить любое другое решение для решения этой проблемы. Я новичок в Laravel.

заранее спасибо

-1

Решение

Спасибо за все предложения. Я решил использовать uniqid () с префиксом как user_id. Так как uniqid () зависит от системного времени и может вызвать конфликт, когда 2 одновременных запроса попадают на сервер, префикс user_id гарантирует, что даже если поступит одновременный запрос, он сгенерирует разные идентификаторы, поскольку user_id, связанный с каждым запросом, будет отличаться.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]