gpt4 book ai didi

url - 如何生成简短、独特的网址

转载 作者:bug小助手 更新时间:2023-10-28 01:29:26 28 4
gpt4 key购买 nike

我正在尝试为我网站上的项目生成唯一的短网址。例如,用户可能会添加一个项目,生成的 url 类似于:

http://example.com/item/abc

我希望唯一标识符由 3 或 4 个字符组成,其中字符是字母和数字。我想与其随机生成字符串然后确保它们是唯一的并且还没有被使用,不如我可以提前生成它们并将它们存储在数据库中。然后,当用户添加一个项目时,我可以从数据库中选择下一个缩短的 url 字符串并将其分配给该项目。这是解决这个问题的好方法吗?有更好的方法吗?我认为这会使它更简单,因为它们已经生成。但是,我还可以看到一个潜在的竞争问题,即两个项目被分配了相同的标识字符串,我不确定 LOCK TABLES 是否是最佳解决方案。

此外,如果不使用 LOCK TABLES,这样的事情可以保证 MySQL 中没有竞争条件吗?

update ids set item_id=1 WHERE id=(SELECT id FROM ids WHERE item_id IS NULL LIMIT 1);

然后我可以为 ID 为 1 的项目选择 ID?在该查询期间,是否没有其他查询能够声明它?

最佳答案

对于后来发现这个问题的人,我遵循了@Swapnil 建议的链接中建议的过程:

How to code a URL shortener?

那里列出了各种语言的一些实现,但我使用的是 perl,但那里没有列出,而且我似乎找不到其他地方已经存在的 perl。因此,如果将来对任何人有帮助,我编写了这个 perl 模块来帮助缩短 url:

Short::URL

感谢@Swapnil 为我指明了正确的位置。

关于url - 如何生成简短、独特的网址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24975380/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com