怎样产生一个不重复的36位数字

jnkaixin2009 2010-06-29 09:30:48
怎样产生一个不重复的36位整数数字,我要用它做唯一标识。业务简单是这样的,在页面上有个按钮,我一点,就会产生一个36位的数字。且每次点击的生成的36位数字是不同的。
...全文
112 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
wqkjj 2010-06-29
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 wqkjj 的回复:]
引用楼主 jnkaixin2009 的回复:
怎样产生一个不重复的36位整数数字,我要用它做唯一标识。业务简单是这样的,在页面上有个按钮,我一点,就会产生一个36位的数字。且每次点击的生成的36位数字是不同的。


不用那么复杂吧,试试这样?
(1)将计数器作成类的静态属性
(2)将36位分成若干段(觉得ID有点长),比如业务大类a,业务小类b,日期(YYYYMMDDHHMISS),加……
[/Quote]

另,如果LZ的服务是集群服务,则在ID上加上集群号、主机编号等信息。36位,够长!
wqkjj 2010-06-29
  • 打赏
  • 举报
回复
[Quote=引用楼主 jnkaixin2009 的回复:]
怎样产生一个不重复的36位整数数字,我要用它做唯一标识。业务简单是这样的,在页面上有个按钮,我一点,就会产生一个36位的数字。且每次点击的生成的36位数字是不同的。
[/Quote]

不用那么复杂吧,试试这样?
(1)将计数器作成类的静态属性
(2)将36位分成若干段(觉得ID有点长),比如业务大类a,业务小类b,日期(YYYYMMDDHHMISS),加上前面的计数器序号。
jnkaixin2009 2010-06-29
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 dr_lou 的回复:]
生成32位UUID你在加上当前时间毫秒数的后四位吧。
[/Quote]

在网上查了一些生成32位uuid的做法,看不懂那,写了好多好多的代码
dr_lou 2010-06-29
  • 打赏
  • 举报
回复
生成32位UUID你在加上当前时间毫秒数的后四位吧。
aoli444 2010-06-29
  • 打赏
  • 举报
回复
涉及到数据库的话,可以用触发器
valen_jia 2010-06-29
  • 打赏
  • 举报
回复
uid吧,后面随便加4个数字好了
myhope88 2010-06-29
  • 打赏
  • 举报
回复
很多方法都可以实现的, 还是自己网上找下吧,然后对比下,哪种效率高点
becameaeagle 2010-06-29
  • 打赏
  • 举报
回复
上网找随机的demo吧
BearKin 2010-06-29
  • 打赏
  • 举报
回复
不晓得 用时间戳?或者UID?

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧