超簡單的短鏈解決方案

場景

    在生成二維碼,發邀請連接,動態說說的時候,猶豫連接過長導致二維碼像素點過密,文字不突出。這個時候想要把長連接改成短碼。

工具

  1. redis
  2. hashIds

環境

  1. java springboot

步驟

  1. 下載好redis之後啓動
  2. 編寫hashIds 的短碼生成規則,核心代碼如下
 // hashids構造函數的第一個參數爲混淆 “鹽” 第二個值表示最小的長度 不代表固定長度
 Hashids hashids = new Hashids("your salt", shortLen);
 //利用redis的inc原子性的特徵製造自增序列 
 long increment = redis.incremnet('KEY')
 String shortCode = hashids.encrypt(increment);
 
 redis.set(shortCode,url)
 ...

利用redis保證短碼生成基礎數值是不重複的,使用hashIds讓自增序列的上一位數下一位數關聯打斷。比如6,7 hashIds之後可能是 xA,bU。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章