-1
我的目標是創建一個唯一的id將它附加到記錄並將其存儲在數據庫中。該ID應該是字母數字和簡寫。我不想使用自動增量生成ID的方式,因爲這個ID將被附加到URL的末尾,所以我不希望它是可以猜測的。經過一番研究,我決定使用uniqid(),據我瞭解,它是基於時間生成的。使用PHP uniqid函數生成簡短的唯一引用id
我的擔心是它將在整個系統中是唯一的,並且如果我要使用多個服務器和集羣來擴展我的系統,那麼是否有機會讓 ID重複?
我不想在將值插入數據庫之前進行重複檢查,因爲隨着記錄數的增加,這會影響性能。
我正在使用Larvel框架。任何人都可以提出任何其他解決方案來解決這個問題。我是laravel新手。
在此先感謝
你有沒有考慮過使用mysql的內置uuid()函數呢? – Shadow
@Shadow mysql uuid()函數給出了一個長度大約爲36個字符的結果,而UUID_SHORT()函數接近17個字符。我想要一些小東西 – Savitha
你有矛盾的要求。你想要的東西很短,但全球獨一無二。 – Shadow