у username может быть не более чем 999 уникальных тегов.. поставьте счётчик с декрементом и выдавайте uuid в виде тега, до коллизий долго добираться будете
кстати если нет необходимости скрывать от пользователя количество человек с таким юзернеймом, то я тоже не вижу особого смысла в рандомной генерации тега
единственное, почему uuid?
ну так.. рандомногенерируемое и уникальное
у него как в дискорде, это публичный идентификатор. Его будут все пользователи видеть насколько я понял, вы предлагете просто не рандомизировать эту цифру, а инкрементировать. UUID как-то не могу сюда прикрутить) userName#0001 userName#0002 anotherUserName#0001 что-то подобное быть у него должно
не, я не предлагаю инкрементировать uuid, я предлагаю хранить оставшееся количество возможных тегов для username, при генерации очередного тега смотрим в этот счётчик - если там 0 то выбрасываем ошибку, если нет - то генерим и уменьшаем счётчик
лочить базу ради такой задачи - сомнительно)
Ну вот хз, тогда скостылить и при появлении ошибки, то попробовать просто снова, но мне кажется это ещё хуже будет грузить базу
Обсуждают сегодня