В моем веб-приложении php я сохраняю каждое число, сгенерированное mt_rand() в базе данных, и используя mysql для проверки, существует ли он, если он это делает, index.php обновляется, чтобы получить другое число, а затем он снова проверяет, существует ли число, если это не так, то текущее число сохраняется в обновлении db orelse. "Проблема в том, что есть вероятность, что сохраненные числа генерируются снова и снова, а страница обновляется в течение длительного времени, что может повлиять на время загрузки сайта. Так что вы можете предложить более простой метод?
Один из способов хранения различных чисел в базе данных (таблице) - хранить их в последовательном порядке.
Первоначально таблица будет пустой, поэтому вы можете вставить 1 в таблицу. Теперь, со следующего раза вам просто нужно получить номер, хранящийся в последней строке. Увеличьте количество выбранных чисел на 1, а затем вставьте в таблицу увеличенное число.
Таким образом, вы можете хранить отдельные цифры в базе данных. Поскольку каждый раз запускается только 3 запроса базы данных (сначала для получения размера таблицы, второй для получения номера в последней строке и третьего для вставки нового номера), этот метод будет сравнительно быстрым.
mt_rand()
- это инструмент для предоставления случайных чисел, а не для предоставления уникальных чисел.