我正在编写一个应用程序,需要做一些功能类似于 url 缩短网站所做的事情。我将生成 6 个字符(不区分大小写的字母数字)随机字符串,这些字符串将标识其较长版本的链接。这导致 2176782336 种可能性 ((10+26)^6)。在分配这些字符串时,我可以考虑两种方法。
方法1:系统在运行时生成一个随机字符串并检查它在系统中的唯一性,如果它不是唯一的,则再次尝试。最后以某种方式达到一个唯一的字符串。但如果用户可能“不走运”,它可能会产生问题。
方法 2:我生成一些可能值的池,并在需要时立即分配它们,但这将确保几乎立即为用户分配一个唯一的字符串,同时这也可能意味着,我会事先在 crons 中进行大量计算,并且会随着时间的推移而增加。
虽然我已经拥有生成此类值的代码,但对方法的帮助可能会很有见地,因为我期待着高度加速的应用程序体验。我找不到任何这方面的比较研究。
干杯!