gpt4 book ai didi

java - 全天 9 位唯一 ID

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:14:02 27 4
gpt4 key购买 nike

有一个令人费解的要求。

基本上我需要根据这些条件创建唯一的 id

  • 9 位数字,当天唯一(表示如果第二天再次出现该号码也没关系)
  • 实时生成;仅限 java(意味着没有从数据库生成序列号 - 实际上根本没有数据库访问)
  • 生成的数字用于填充 requestID,每天将生成大约 1.000.000 个 id。
  • 不应使用 UUID 或 UID(超过 9 位)

这是我的考虑:

  • 使用序列号听起来不错,但是万一 JVM 重启,requestId 可能会重新生成。
  • 使用时间 HHmmssSSS(时分秒毫秒)有 2 个问题:

a. System Hour might be changed by server admin.
b. Can cause issue if 2 requests being asked on same milliseconds.

有什么想法吗?

最佳答案

no sequence number generation from database

我讨厌那样愚蠢的要求。我说你作弊并使用像H2这样的嵌入式数据库或 HSQLDB并通过序列生成标识符。

编辑:让我进一步说明为什么我提出这个“作弊”:我对“无数据库”要求的理解是,要么不应该安装任何数据库软件来处理这个要求,要么无法更改现有的数据库架构。使用嵌入式数据库与向项目添加新的 jar 文件是一样的。为什么你不应该这样做?关系数据库已经为您解决了这个问题,为什么还要自己实现呢?

关于java - 全天 9 位唯一 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11626582/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com