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