特点:唯一性,可读性,mysql中分表问题(不能取商品id自增长)
解决方案
订单号的生成:
方案一(不能使用):
使用mysql的自增长。
优点:不需要我们自己生成订单号,mysql会自动生成。
缺点:如果订单表数量太大时需要分库分表,此时订单号会重复。如果数据备份后再恢复,订单号会变。
方案二:日期+随机数
采用毫秒+随机数。
缺点:仍然有重复的可能。不建议采用此方案。在没有更好的解决方案之前可以使用。
方案三:使用UUID(import java.util.UUID)
优点:不会重复。
缺点:长。可读性查。不建议使用。
方案四:可读性好,不能太长。一般订单都是全数字的。可以使用redis的incr命令生成订单号。
优点:可读性好,不会重复
缺点:需要搭建redis服务器。