数据库 - 求比较方便的基于自增id映射出一串唯一数字id的算法
迷茫
迷茫 2017-04-22 08:59:53
0
2
823

rails默认用自增id作为pk,并且url上通过id找到相应的资源,不过我想像微博那样通过一串长数字去定位资源
如:

http://weibo.com/u/1857759250

这种形式的数字id。

该数字串最好能够有跟自增id的一定的对应关系,比如说是自增id经过一定的算法生成。
该数字串必须是唯一的,最好是不连续的,最好在10位以内。

谢谢

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全員に返信(2)
阿神

比較的単純な方法は、大きな数値を見つけてそれを XOR することです。アルゴリズムは単純で、桁数を制御するのが簡単です。

わずかに変形して規則性を取り除くことができます。たとえば、16 個の大きな数字を見つけるには、元の数字の最後の 4 桁を取り出して、対応する大き​​な数字を見つけます。その後、最後の 4 桁は変更されず、他の数字はそのままになります。大きな数字との xored には下 4 桁も含まれます。パターンは 1、3、6、15 などになります。
いいねを押す +0
刘奇

id + 固定値、md5 では無理でしょうか?

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート