生成 8 位数字 作为用户的唯一主键, 如何保证唯一?

2018-12-11 21:18:46 +08:00
 mocxe2vwww

项目不考虑分布式, 但是上线之后,用户并发注册的情况会很大,而且要求不能用自增,数字不能包含 0

时间成本有限,不能太复杂了,所以我想到最简单的方案: 每次直接程序内生成一个 8 位数,再去 user 表 for update 后找一下看有没有。

还想到的一种方法:直接在 redis 队列中生成 100w 个均匀分布,每次 pop 一个

大家有啥好的思路没?

5847 次点击
所在节点    问与答
21 条回复
mocxe2vwww
2018-12-12 14:39:02 +08:00
@akira 你这方法感觉简单实用

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/516660

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX