基於Redis作為發號器生成短網址Python實踐
請尊重原創,本文原文地址:
描述
如何將長地址URL轉換為短地址URL,一個比較理想的解決方案就是使用發號器生成一個唯一的整數ID(這唯一ID與長網址一一對應),然後轉換為62進位制,作為短地址URL。
實現
發號器使用 Redis 的 incr 函式 incr('SID')
// 62個字元作為62進位制符號 0123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNOPQRSTUVWXYZ-_ 12345678 轉成 62 進製為 RPGS
程式碼
# python
import redisclass ShortenURL:
_alphabet = '0123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNOPQRSTUVWXYZ-_'
_base = len(_alphabet)
def encode(self, number): string = ''
while(number > 0): string = self._alphabet[number % self._base] + string
number //= self._base
return string
def decode(self, string): number = 0
for char in string: number = number * self._base + self._alphabet.index(char) return numbert = ShortenURL()
# Redis 作為ID發號器
r = redis.StrictRedis(host='127.0.0.1', port=6379, db=0,password='hooyes')if r.exists('SID') != 1:
r.set('SID',12345677)
r.incr('SID')
sid = int(r.get('SID'))
# 生成短網址,假如域名為 85.si
sn = t.encode(sid)
shorturl = '
print(shorturl)
# 透過 ShortURL SN 解碼到原SID
print(t.decode(sn))
測試
執行 python redis-short.py 即可以測試。 //注意需要具備 redis
以上程式碼已放到Hooyes的Github上開源,歡迎Fork或提建議。
相關推薦
完結撒花
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69966888/viewspace-2691660/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 騰訊短網址(url.cn短網址) 2020最新騰訊短網址生成api介面推薦API
- url.cn短網址 騰訊url.cn短網址生成介面
- 微信url短網址線上生成 最新微信短網址生成平臺推薦
- 網址縮短 短網址連結縮短生成器的試用推薦
- URL短網址線上生成工具
- 微信短網址 微信短網址(url.cn)線上生成介面
- T.CN短網址 新浪T.CN短網址生成工具推薦
- 京東短網址高可用提升最佳實踐
- 短網址生成API介面,短鏈生成 W外鏈API介面API
- W外鏈短網址生成,他們家的短網址免費的嗎?
- url.cn短網址 url.cn短網址網址縮短教程
- 微信短網址線上生成 推薦幾個可在線上生成微信短網址的平臺
- 如何縮短淘寶客連結網址 淘客短網址線上生成教程
- 騰訊、新浪短網址怎麼線上生成
- URL短網址系統的演算法設計及實踐演算法
- 最新生成新浪短連結網址介面介紹
- 短網址連結生成器程式碼示例——新浪短連結api介面php、java、Python呼叫演示APIPHPJavaPython
- 新浪短連結生成器 最新新浪短網址短連結線上生成器推薦
- 新浪短網址(t.cn/xxx)介面 最新新浪t.cn短網址線上生成平臺推薦
- 騰訊短連結url生成介面/騰訊短網址線上生成/新浪微博短連結生成器的分享
- 如何利用新浪官方的短網址API介面實現T.cn短連結的壓縮生成API
- 短網址安全淺談
- 不限次數無廣告的短網址生成工具推薦
- W外鏈 短網址系統API 原始碼,網址縮短API介面API原始碼
- 京東短網址高可用提升最佳實踐 | 京東雲技術團隊
- t.cn短連結 新浪t.cn短網址線上生成工具推薦
- mongodb短網址專案02具體實現MongoDB
- t.cn短網址 新浪短網址連結生成器的技術原理分析推薦第一章(分析篇)
- 騰訊短網址(url.cn)新浪短網址(t.cn)的API介面分享API
- 如何設計短網址系統?
- http://t.cn短網址 新浪t.cn短網址是如何申請開通的HTTP
- 利用 Redis 生成序列號的功能實現編號自增Redis
- 短址(short URL)原理及其實現
- 基於 KubeVela 的機器學習實踐機器學習
- 愛奇藝短視訊智慧標籤生成實踐
- 實踐指南-網頁生成PDF網頁
- 2024年好用的短連結短網址工具推薦
- [java併發程式設計]基於訊號量semaphore實現限流器Java程式設計