這篇文章將為大家詳細(xì)講解有關(guān)基于redis作為發(fā)號(hào)器生成短網(wǎng)址Python實(shí)踐是怎樣的,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。
成都創(chuàng)新互聯(lián)專業(yè)提供綿陽(yáng)電信機(jī)房服務(wù),為用戶提供五星數(shù)據(jù)中心、電信、雙線接入解決方案,用戶可自行在線購(gòu)買綿陽(yáng)電信機(jī)房服務(wù),并享受7*24小時(shí)金牌售后服務(wù)。
如何將長(zhǎng)地址URL轉(zhuǎn)換為短地址URL,一個(gè)比較理想的解決方案就是使用發(fā)號(hào)器生成一個(gè)唯一的整數(shù)ID(這唯一ID與長(zhǎng)網(wǎng)址一一對(duì)應(yīng)),然后轉(zhuǎn)換為62進(jìn)制,作為短地址URL。
發(fā)號(hào)器使用 Redis 的 incr 函數(shù) incr('SID')
// 62個(gè)字符作為62進(jìn)制符號(hào) 0123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNOPQRSTUVWXYZ-_ 12345678 轉(zhuǎn)成 62 進(jìn)制為 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發(fā)號(hào)器 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')) # 生成短網(wǎng)址,假如域名為 85.si sn = t.encode(sid) shorturl = 'https://85.si/' + sn print(shorturl) # 通過 ShortURL SN 解碼到原SID print(t.decode(sn))
運(yùn)行 python redis-short.py 即可以測(cè)試。 //注意需要具備 redis
關(guān)于基于Redis作為發(fā)號(hào)器生成短網(wǎng)址Python實(shí)踐是怎樣的就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。
網(wǎng)站標(biāo)題:基于Redis作為發(fā)號(hào)器生成短網(wǎng)址Python實(shí)踐是怎樣的
瀏覽地址:http://jinyejixie.com/article37/peoipj.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、品牌網(wǎng)站設(shè)計(jì)、標(biāo)簽優(yōu)化、網(wǎng)站制作、做網(wǎng)站、網(wǎng)站收錄
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)