吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1386|回复: 13
收起左侧

[讨论] 周期性顺序编号讨论

  [复制链接]
WolfAvenue 发表于 2021-6-18 14:15
如何周期性顺序编号,比如编号从每日0时开始,1开始顺序编号,按顺序递增,某个时间点编号是多少,如何存编号呐,如何设计,数据库还是纯代码+文件保存编号,还有其他方案嘛?

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

qq1766885917 发表于 2021-6-18 15:43
本帖最后由 qq1766885917 于 2021-6-18 15:44 编辑

我也想知道这个怎么弄!
济南枫 发表于 2021-6-18 16:12
为了防止重复 应该加入md5+随机码

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
WolfAvenue + 1 + 1 热心回复!

查看全部评分

 楼主| WolfAvenue 发表于 2021-6-18 16:15
qq1766885917 发表于 2021-6-18 15:43
我也想知道这个怎么弄!

我就想到 用代码调用一个函数来计数,
函数功能就是 获取当前时间,判断特定的文件夹里面有无yyyyMMdd.txt文件,没有的话就新增yyyyMMdd.txt文件,然后内容是编号1,有的话就直接更改内容,在原来的基础上加1

第二中就是数据库 定义一个表:3个字段字段,主键key,日期,编号
调存储过程,逻辑跟上面一样

可以实现,不知道有没有更好的方法
 楼主| WolfAvenue 发表于 2021-6-18 16:18
济南枫 发表于 2021-6-18 16:12
为了防止重复 应该加入md5+随机码

额,好像有并发问题啊
 楼主| WolfAvenue 发表于 2021-6-18 16:21
济南枫 发表于 2021-6-18 16:12
为了防止重复 应该加入md5+随机码

没看懂加md5+随机码什么意思
黄hsir 发表于 2021-6-18 16:22
雪花算法,专门用来生成分布式系统的id
雪莱鸟 发表于 2021-6-18 16:34
双色球?大乐透?
大侠在路上 发表于 2021-6-18 17:03
本帖最后由 大侠在路上 于 2021-6-18 17:04 编辑

前段时间恰好遇到过类似问题,来发表一下可能是史上最low的解决方案。也正好来题主这瞅瞅,看看能不能偷走几个有用方案。

先说我当时的项目需求,甲方需要的是四位年份数字+五位公司标识+5位递增编号[+可能存在的分订单号-]。
也就是说订单号是由用户下单时的订单号可能是这样的'2021testf00001'或'2021testf00058-a'。

我当时考虑并发问题时也一度头发掉光光,幸亏我聪明的选择了躺平(只要我足够懒,这个世界就没有我逃避不了的问题)。

最后我选择将订单号生成放在代码层面实现,因为数据库采用的是mysql,而且我将订单号设置为唯一键,所以我选择在存入时开启事务,去他father的高并发,将高并发直接交给数据库自己解决去,反正只要插入失败(高并发下)就告知用户系统繁忙回滚事务,让用户稍后再来下单。

现在想起来,我仍然感觉到无比自豪,我可真是个大聪明,it界的卧龙凤雏称号非我莫属了。

最后总结,居然解决不了问题,就先满足客户的需求,再把锅留给用户,哈哈哈哈~

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
WolfAvenue + 1 + 1 热心回复!

查看全部评分

 楼主| WolfAvenue 发表于 2021-6-18 18:20
大侠在路上 发表于 2021-6-18 17:03
前段时间恰好遇到过类似问题,来发表一下可能是史上最low的解决方案。也正好来题主这瞅瞅,看看能不能偷走 ...

递增编号保存在那里呐?并发问题交给数据库好想法
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-26 00:25

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表