文档章节

关于唯一订单号的想法

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

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

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

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

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


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

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

© 著作权归作者所有

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

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

刘诗书 ⋅ 2017/11/22 ⋅ 0

业务系统业务编码如何设计?

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

蓝水晶飞机 ⋅ 2016/11/18 ⋅ 2

关于随机生成订单号的解决方案

关于生成订单号的解决方案 电子商务及类电子商务的系统越来越多,我相信订单号问题是这类系统中最常见不过的一个问题了,但今天还是想谈谈。 这几天由于工作需要接手了另外一同事前期开发的一...

王锐 ⋅ 2012/10/15 ⋅ 2

微信支付-微信红包Java版本

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

小帅帅丶 ⋅ 2016/08/22 ⋅ 16

分布式环境如何保证外部订单号唯一?

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

冯光伟 ⋅ 03/12 ⋅ 0

如何理解和处理并发下的这些问题,你知道吗?

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

god_share ⋅ 2015/03/13 ⋅ 3

高并发下怎样生成唯一的订单号?

高并发下怎样生成唯一的订单号?比如像银行的订单号根据时间生成,mysql数据库。

chaun ⋅ 2015/10/17 ⋅ 16

PHP生成唯一订单号

在日常的网站开发中,我们经常需要生成唯一的订单号。订单号太短,在高迸发情况下,很容易造成订单号重复事件,虽然是小概率事件。 下面我们使用PHP多个函数生成一个现在最常用的订单号格式:...

豆花饭烧土豆 ⋅ 2016/03/15 ⋅ 0

PHP的microtime()的毫秒值会不会有相同的值,能不能拿来做uuid

是这样,想做个时间格式的订单号生成函数,如这样格式:150406223430726653。前面10用时间,后面8位刚好用microtime()生成的毫秒值,请问,microtime()并发的情况下会不会生成相同的值。就是...

键盘浪人 ⋅ 2015/04/07 ⋅ 12

PHP生成订单号算法

首先,订单号不适合用自增字段,因为会暴露一个网站的业务量(参见“德国坦克问题” http://en.wikipedia.org/wiki/Germantank_problem)。另外,通常在订单在写入数据库之前,业务就需要用到...

jims ⋅ 2016/08/28 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Java NIO之字符集

1 字符集和编解码的概念 首先,解释一下什么是字符集。顾名思义,就是字符的集合。它的初衷是把现实世界的符号映射为计算机可以理解的字节。比如我创造一个字符集,叫做sex字符集,就包含两个...

士别三日 ⋅ 26分钟前 ⋅ 0

Spring Bean基础

1、Bean之间引用 <!--如果Bean配置在同一个XML文件中,使用local引用--><ref bean="someBean"/><!--如果Bean配置在不同的XML文件中,使用ref引用--><ref local="someBean"/> 其实两种......

霍淇滨 ⋅ 31分钟前 ⋅ 0

05、基于Consul+Upsync+Nginx实现动态负载均衡

1、Consul环境搭建 下载consul_0.7.5_linux_amd64.zip到/usr/local/src目录 cd /usr/local/srcwget https://releases.hashicorp.com/consul/0.7.5/consul_0.7.5_linux_amd64.zip 解压consu......

北岩 ⋅ 34分钟前 ⋅ 0

Webpack 4 api 了解与使用

webpack 最近升级到了 v4.5+版 01 官方不再支持 node4 以下版本 官方不再支持 node4 以下版本官方不再支持 node4 以下的版本,所以如果你的node版本太低,先开始升级node吧!话说node10 ...

NDweb ⋅ 44分钟前 ⋅ 0

使用nodeJs安装Vue-cli

Vue脚手架就是一个Vue框架开发环境 脚手架的意思是帮你快速开始一个vue的项目,也就是给你一套vue的结构,包含基础的依赖库,只需要 npm install就可以安装,让我们不需要为了编辑或者一些其...

木筏笔歆 ⋅ 今天 ⋅ 0

【微信小程序开发实战】0x00.开发前准备工作

写在开始 本人资深后端码农一枚,近期项目需求,接触到了微信小程序,将学习过程整理成文分享给小伙伴们,由于是边学边整理难免有表述不对的地方,望大家及时指正,感谢。 本人微信号: dream...

dreamans ⋅ 今天 ⋅ 0

linux redis的安装和php7下安装redis扩展

安装redis服务器 (1)下载安装包: $ wget http://download.redis.io/releases/redis-2.8.17.tar.gz (2)编译程序: $ tar xzf redis-2.8.17.tar.gz $ cd redis-2.8.17 $ make $ cd src &&......

concat ⋅ 今天 ⋅ 0

Guava EventBus源码解析

一、EventBus使用场景示例 Guava EventBus是事件发布/订阅框架,采用观察者模式,通过解耦发布者和订阅者简化事件(消息)的传递。这有点像简化版的MQ,除去了Broker,由EventBus托管了订阅&...

SaintTinyBoy ⋅ 今天 ⋅ 0

http怎么做自动跳转https

Apache 版本 如果需要整站跳转,则在网站的配置文件的<Directory>标签内,键入以下内容: RewriteEngine on RewriteCond %{SERVER_PORT} !^443$ RewriteRule ^(.*)?$ https://%{SERVER_NAME......

Helios51 ⋅ 今天 ⋅ 0

Python爬虫,抓取淘宝商品评论内容

作为一个资深吃货,网购各种零食是很频繁的,但是能否在浩瀚的商品库中找到合适的东西,就只能参考评论了!今天给大家分享用python做个抓取淘宝商品评论的小爬虫! 思路 我们就拿“德州扒鸡”...

python玩家 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部