短鏈的生成方式和用途

短鏈的作用
1.鏈接變短
2.過濾垃圾鏈接
實現(xiàn)原理
key-value存儲 利用 自增長的key作為 短鏈 (這樣能保證不重復(fù)且能有效利用)
如果量特別大 可以給redis設(shè)置失效時間 如 1天失效 且只要被訪問過則重新計時 這樣能保證熱門url不會過期 便于統(tǒng)計分析用戶行為
代碼

@HystrixCommand
String set(String longURL) {
StringshortURL=null
Redis.with(master) { Jedis jedis ->
shortURL= jedis.hget(l2s, longURL)
if(!shortURL) {
longn = jedis.hincrBy(l2s,'index',1)     生成短鏈的key
shortURL=long2str(n)
jedis.hset(s2l,shortURL, longURL)
jedis.hset(l2s, longURL,shortURL)
}

shortURL
}

}
static String long2str(longn) {
StringBuilder sb =newStringBuilder()
while(n >0) {
inti = n &0x3F
sb.append(chars[i])
n >>=6
}
sb.toString()
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容