文档章节

关于唯一订单号的想法

iisky
 iisky
发布于 2015/08/24 11:00
字数 263
阅读 47
收藏 0

订单号要求:纯数字,不能直接id自增,性能的要求,不能根据订单号推断大概的销售情况

订单号格式:2位标识+yyMMdd+4位递增数字(不足前面补0,超过4位自动扩充)+随机4位数字,如果需要不明显的看出来销售情况,可以把后八位进行一定的方式进行交换

实现思路:数据库方式,表字段包含 (标识,下一次递增数),和网上大多数的一样实现方式

性能提升:第一次请求生成 【该标识的10个订单号】,按顺序加入list(实际上是九个,第一个被使用了),直接更新该标识的递增数为11,下一次直接从list中获取,取完了再次依照该方式生成。


优点:减少对数据库的频繁更新,提高性能,订单号能自动扩充

缺点:存在跳号的情况(订单号不连续)

© 著作权归作者所有

共有 人打赏支持
iisky
粉丝 0
博文 1
码字总数 263
作品 0
阳江
java web系统在高并发和分布式下如何实现订单号生成唯一

方案一:如果没有并发,订单号只在一个线程内产生,那么由于程序是顺序执行的,不同订单的生成时间戳正常不同,因此用时间戳+随机数(或自增数)就可以区分各个订单。如果存在并发,且订单号...

刘诗书
2017/11/22
0
0
业务系统业务编码如何设计?

比如订单号、优惠券编码等这类编码,在系统上面需要唯一,且要求不能通过编码知道系统里面的数据数量(单纯递增不可以)。 比如订单号T8191647888888,T8识别为订单号规则,19为广东省的系统...

蓝水晶飞机
2016/11/18
311
2
微信支付-微信红包Java版本

扫描可以关注查看其它接口的demo效果 https://zb.oschina.net/market/opus/1325c0ab3ac1f4b6 代码链接,可根据需求出方案与代码。 需要有认证的公众号,且开通了微信支付,商户平台且开通了现...

小帅帅丶
2016/08/22
6.7K
16
分布式环境如何保证外部订单号唯一?

类似于支付宝,服务端在接收支付请求时,要求客户端在请求中传入外部订单号,此外部订单号要保证唯一性,服务端在分布式部署环境下,想到利用redis得setnx命令来判断,返回1,表示外部订单号...

冯光伟
03/12
0
0
如何理解和处理并发下的这些问题,你知道吗?

简介:这几天看并发,看的越来越糊涂,并发中最容易出问题的就是锁。 语言:JAVA 问题描述: 一、 在java 里,程序并发时,加锁,在文档,博客,书籍中,凡是说到并发,都会说一个东西,锁。j...

god_share
2015/03/13
688
3

没有更多内容

加载失败,请刷新页面

加载更多

下一页

java并发备忘

不安全的“先检查后执行”,代码形式如下: if(条件满足){ //这里容易出现线程安全问题//doSomething}else{//doOther} 读取-修改-写入 原子操作:使用CAS技术,即首先从V中读取...

Funcy1122
今天
0
0
SpringBoot2.0 停机

最近新建了个SpringBoot2.0的项目,因为原来一直使用的是传统的Tomcat部署war包的形式,所以这次SpringBoot内置Tomcat部署jar包的时候遇到了很多问题。其中一个就是因为没有外置的Tomcat容器...

Canaan_
昨天
0
1
Confluence 6 外部参考

一个外部参考的意思是任何站点链接到你 Confluence 的实例。任何时候当 Confluence 的用户单击这个外部链接的时候,Confluence 可以记录这次单击为参考。 在默认的情况下,外部链接的参考链接...

honeymose
昨天
0
0
Android中的设计模式之抽象工厂模式

参考 《设计模式解析》 第十一章 Abstract Factory模式 《设计模式:可复用面向对象软件的基础 》3.1 Abstract Factory 抽象工厂 对象创建型模式 《Android源码设计模式解析与实战》第6章 创...

newtrek
昨天
0
0
Redis | 地理空间(GEO)的一个坑

Redis的地理空间(Geo)是个好东西,轻轻松松的就可以把地图描点的问题处理了, 最近却遇到一个坑...Redis采用的Msater-Slave模式, 运用GEORADIUS在salve读取对应的数据,新增了从节点但是从不返...

云迹
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部