根據用戶id生成與之對應的唯一邀請碼,范圍為‘0-9A-Z’。這個需求的重點在於加粗的部分,也就是要能夠根據邀請碼反推出用戶ID,這樣邀請碼就不用入庫了,在用戶量很大的情況下,性能可以得到不小的提升。 錯誤思路 隨機生成一個字符串,再將用戶id拼接到字符串后面,但是這樣id就太明顯 ...
需求描述:根據用戶id生成與之對應的唯一邀請碼,范圍為 A Z 。 這個需求的重點在於加粗的部分,也就是要能夠根據邀請碼反推出用戶ID,這樣邀請碼就不用入庫了,在用戶量很大的情況下,性能可以得到不小的提升。 錯誤思路 隨機生成一個字符串,再將用戶id拼接到字符串后面,但是這樣id就太明顯了,容易暴露,而且如果id很長的話,會導致邀請碼很長,不利於用戶使用。 所以可以將用戶id插入到生成的字符串中 ...
2017-05-14 15:09 5 5725 推薦指數:
根據用戶id生成與之對應的唯一邀請碼,范圍為‘0-9A-Z’。這個需求的重點在於加粗的部分,也就是要能夠根據邀請碼反推出用戶ID,這樣邀請碼就不用入庫了,在用戶量很大的情況下,性能可以得到不小的提升。 錯誤思路 隨機生成一個字符串,再將用戶id拼接到字符串后面,但是這樣id就太明顯 ...
需求分析 從業務需求上來看,邀請碼有以下幾個強制性的要求: 不可重復 唯一確定 這兩點要求首先就排除了 hash code 的可能,因為 hash code 是可以發生碰撞的。然后在強制性要求的基礎之上,我們還有一些進一步的需求 ...
網上看到一個例子,借鑒修改一下 實現根據long類型的用戶ID生成6位隨機邀請碼,並且根據邀請碼能算出用戶ID。代碼如下: 上面6位邀請碼能表示的最大ID為728999999(“hhhhhh”),729000000(“wqqqqqq”)就要進位了。 上面方法同一個id生成 ...
...
毫秒時間戳ID SUBSTR(str, pos, len) 函數的參數 pos 的坐標從 1 開始; %Y 四位數字表示的年份;而 %y 兩位數字表示的年份; %m 兩位數字表示的月份(01, 02, ..., 12); %d 兩位數字表示月中的天數(00, 01 ...
經測試,基本不重復。如果高並發會出現極個別的重復。 可以通過查詢數據庫是否存在來避免。 如果存在,就重新生成一個,直到不重復,再保存。 ...
Java語言實現的,參考連接如下: 簡單的密碼學生成唯一邀請碼 基於全局ID生成全局唯一邀請碼 需 ...
...