php url变短,php – URL缩短:最好的编码方法?

首先,请确保您在ID和short_url_code列上有单一约束.

当有人创建一个新的链接:

>从数据库获取下一个最大的链接ID(出于性能原因,您应该真正重要使用自动增量或SEQUENCE,具体取决于您的RDBMS提供的内容;否则请选择MAX(ID)1)

>使用base64_encode或任何其他自定义或标准编码方案从ID生成一个简短的URL代码(http://website.com/[short url name))

>插入链接表:ID,short_url_code,destination_url

>如果插入由于约束违规而失败,则返回步骤1尝试新的ID;您可能已经违反了以下原因:

>相同的ID已经被另一个线程/进程等待并行使用(即插入)(如果您使用自动增量或序列,则不会发生),并且/或

>相同的short_url_code已经被用作自定义网址(这将很少发生,除非有人试图在您的网站上造成麻烦)

>如果插入成功,提交并将短URL返回给用户

当有人创建新的链接并传递自定义的短网址时:

>执行与上述相同的步骤1

>而不是如上面的步骤2从ID生成短的URL部分,使用用户提供的自定义short_url_code

>执行与上述相同的步骤3

>如果插入失败,因为:

> ID上的约束违规:返回步骤1尝试新的ID

> short_url_code的约束违规:向用户请求错误,要求他选择不同的自定义网址,因为他/她提供的短URL已被使用

>执行与上述相同的步骤5

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值