您好,登錄后才能下訂單哦!
有時候在某些業務中需要先生成一個唯一id,然后再進行存儲.可以使用一下的方法:
這種方式可以滿足需求但是需要跟數據庫有一次額外的操作.對性能有一定的影響
2.毫秒級的時間加上一個隨機數.
這種方式不需要借助數據,性能高些,但是隨機數可能會重復,所以結果可能不是全局唯一的
3.毫秒級的時間加上進程id
這種方式可以既滿足性能,又是唯一的
對于多核的cpu,每個cpu可以同時執行不同的進程,而每個進程有唯一的id,所以時間可能相同,但是進程的id一定是不同的,這樣兩者的組合就一定是全局唯一的.
至于選哪中我覺得還是看業務的并發量的.沒什么并發的情況下第一種就可以了,雖然會影響性能,但是如果需要查看生成的總數就比較方便了,3比2多了次系統調用,理論上性能要低些.
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。