欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

求一个不会生成重复值的短网址算法

程序员文章站 2022-06-11 18:26:35
...
求一个不会生成重复值的短网址算法,网上找了一些,都有一定重复的概率,或者能提供一种重复概率最小的算法也行

回复讨论(解决方案)

这个应该是先生成一个随机字符串,
然后查询数据库中是否已经存在,
不存在就入库,
存在就再换一个再查,

短址本来就只有五位左右的长度,
我觉得不管用什么算法都不可能保证不重复,
所以只能通过对以前生成的来对比。

最简单就是,随机串是根据对应id生成的,也就是看着像随机串,其实是id根据一定的规则生成的,基本上在没有得到这个id范围的上线的话,是不会用重复的

我自己想到的是base62算法 呵呵~~~

0);return $a;}echo base62(63);?>



由一个整型ID 生成它的base62编码
比如
61 => 10
63 => 11
..
71 => 1a
72 => 1b
900000000(9亿) => YUj72

都会重复的 可以在数据库中做记录