это короткое живое приложение без дБ и сохранение Картинга оригинала -> сокращение в памяти. Если у меня есть метод scala, который вызывается каждый раз, чтобы генерировать значение (которое затем используется как сокращенный URL-адрес), а затем сохраняется на карте (originalUrl-> shortenUrl. Выбор из 4.2 миллиардов (Integer.MAX_VALUE) возможен с redix 36 . Любой недостаток подхода для генерации уникальных значений укоротить URL при вызове в многопоточной среде?Base36 Случайное число
def randomUrl: String = {
Integer.toString(new Random().nextInt(Integer.MAX_VALUE), 36)
}
На странице Java для Random (что оборачивает Scala, я только что проверил источник): «Этот конструктор устанавливает семя генератора случайных чисел до величины, весьма вероятно, чтобы быть отличными от любого другого вызова этого конструктора «. Таким образом, ваше семя * должно * быть хорошим –
@MillieSmith значение по умолчанию - 'System.currentTimeMillis', поэтому было бы не так, если бы вы породили несколько потоков ** точно ** в то же время –
@ user2066049 игнорировать мой первый комментарий, я искал неправильный исходный код :-( –