目前我和我的朋友正在开发一个网站,我们将称为‘项目’,我们只是在数据库中有一个基本的自动增量id,用于导航到项目,如
oururl.com/viewproject?id=1但我们开始思考,如果我们有很多张贴的项目,那将是一个很长的网址。因此,我们需要以某种方式随机生成一个大约6个字符的字母数字字符串。我们希望字符串被复制的机会非常低,当然,我们将在分配标识符之前查询数据库。感谢大家的帮助,意义重大!
发布于 2012-09-22 23:37:41
为了提高速度,请将数字ID保存在数据库中。使用将这些数字ID转换为字母数字ID的算法。
这样一来,你就不必担心重复了,而且在你的数据库中你仍然可以得到非常快的索引。
请看这个答案:https://stackoverflow.com/a/12479939/362536和这个问题:Tinyurl-style unique code: potential algorithm to prevent collisions
发布于 2012-09-22 23:36:15
您总是可以使用PHP的生成一个随机字符串,然后使用对其进行裁剪。
$unique_six_character_id = substr(uniqid(), 0, 6);发布于 2012-09-22 23:36:46
试试这个:
$id = substr(md5(uniqid()), 0, 6);https://stackoverflow.com/questions/12545130
复制相似问题