簡體   English   中英

使用 PHP uniqid 函數生成簡短的唯一參考 ID

[英]Generating short unique reference id with PHP uniqid function

我的目標是創建一個唯一的 id,將其附加到記錄並將其存儲在數據庫中。 id 應該是字母數字和簡短的。 我不想使用生成 id 的自動遞增方式,因為此 ID 將附加到 url 的末尾,所以我不希望它被猜到。 經過一些研究,我決定使用 uniqid(),因為我理解它是根據時間生成的。

我擔心它在整個系統中是否是唯一的,如果我要使用多個服務器和集群來擴展我的系統,ID 是否有可能重復?

我不想在將值插入數據庫之前進行重復檢查,因為隨着記錄的增加,這會隨着時間的推移影響性能。

我正在使用 Larvel 框架。 任何人都可以提出任何其他解決方案來解決這個問題。 我是laravel的新手。

提前致謝

感謝所有的建議。 我決定使用前綴為 user_id 的 uniqid()。 由於 uniqid() 依賴於系統時間,並且當 2 個同時請求到達服務器時可能會導致沖突,user_id 前綴將確保即使同時請求到來它也會生成不同的 id,因為與每個請求關聯的 user_id 將不同。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM