标签:进制 文章 优化 order 性能 一个 content post 自己
文章很棒,不过最重要的是思路,在可实现的思路下,你会发现每一步都不难。
本文目的就是整理思路,然后让自己实现。
长链转短链,短链跳转到长链。
短链是一个字符串,只需由一个唯一的ID,可以根据某种规则,转换出唯一的字符串即可。所以问题变成了如果找到一个长链对应的唯一ID。
而对于唯一标识,莫过于数据库自增ID了。
这里需区分单表和多表。单表,数据库自增 id 肯定唯一;多库多表,肯定有一全局发号器来生成唯一 id。
文中使用的是62进制转换,因为字符 a-z、A-Z 和 0-9 共 62 个字符,可以用于生成短链。
只需将十进制ID转换为62进制即可。进制转换详情可以参考:除基倒取余法。
数据库中查询;
5.1 打乱 BASE 字符串
5.2 加随机字符串,如固定在开头或结尾加 2 位随机字符串
算法的安全性保证:两个不一样的数,在固定位置都插入随机位,结果一定不一样。
5.3 其他细节:
标签:进制 文章 优化 order 性能 一个 content post 自己
原文地址:https://www.cnblogs.com/buwuliao/p/9196538.html