Java生成随机不重复推广码邀请码

欢迎进入我的博客:blog.scarlettbai.com查看更多文章

最近接到一个需求,要批量生成推广码,首先我们知道推广码的特效有如下两点:

1:不可重复

2:不可以被推测出

关于这两点,我们的思路大体分为如下几类:

1:每次生成一个随机码后查数据库是否有相同的,有则重新生成(每次都要访问数据库,导致效率极低,不推荐)

2:依据数据库的主键作为唯一键,进行打乱或插入操作,如主键为8000001,取出后生成3位(据需求增减)随机数或字母,插入主键值中,构成如8000E0V0S1D这种串,可保证推广码不重复及不可推测出(这种方式也需要连接数据库取主键,当然可以一次性预生成所需数目的主键,然后生成对应推广码后更新进数据库,效率会高一些)

3:利用算法来保证值唯一,如UUID等,本篇重点介绍此种方式(不需连接数据库,算法选择合适则效率很高)

具体实现

上面说了,本文重点讨论利用算法实现不重复性,首先我们会想到最简单的方式:UUID,我们来看下具体效果:


图中可以看出,UUID生成的随机串去掉-后长度为32

评论 24
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值