开发者社区> 问答> 正文

[@徐雷frank][¥20]如何生成唯一序列号ID

已解决

如何生成唯一序列号ID,位数不要太长(最好6位以内),而且能够保证数值连续。
考虑过snowflake算法,因为位数太长,而且不能保证数值连续,所以放弃了。

展开
收起
aaa125 2018-11-22 15:43:51 2993 0
2 条回答
写回答
取消 提交回答
  • 1.阿里云大学讲师,主讲《微服务Spring Cloud设计与开发实战》《MongoDB高级实战》等课程 2.MongoDB中文社区专家 3.《MongoDB实战》第2版译者 5.吉林大学计算机科学学士、上海交通大学硕士
    采纳回答

    1、如果不要求6位以内,可以参考MongoDB的ObjectId的生成算法,自增,并且唯一。
    2、6位的话,如果全部数字全局自增,增加ID的时候需要记录之前的最大值。
    3、比较麻烦的就是全局,可以使用统一增加的入口,或者全局缓存,+分布式锁实现。

    2019-07-17 23:15:57
    赞同 1 展开评论 打赏
  • 可以考虑是否有UUID服务可以调用

    2020-03-05 16:21:02
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载