91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

基于Redis作為發號器生成短網址Python實踐是怎樣的

發布時間:2021-12-04 14:54:42 來源:億速云 閱讀:196 作者:柒染 欄目:互聯網科技

這篇文章將為大家詳細講解有關基于Redis作為發號器生成短網址Python實踐是怎樣的,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

基于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 = 'https://85.si/' + sn
print(shorturl)
# 通過 ShortURL SN 解碼到原SID
print(t.decode(sn))

測試

運行 python redis-short.py 即可以測試。 //注意需要具備 redis

關于基于Redis作為發號器生成短網址Python實踐是怎樣的就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

武山县| 黄龙县| 肥东县| 博客| 东阳市| 海晏县| 凉城县| 朝阳县| 武穴市| 易门县| 遂平县| 原平市| 大宁县| 靖江市| 北京市| 繁峙县| 玉溪市| 嘉兴市| 遂宁市| 鄂尔多斯市| 嘉定区| 镇康县| 家居| 新郑市| 清涧县| 荃湾区| 内丘县| 云霄县| 宁都县| 阳西县| 通城县| 蓬溪县| 南雄市| 武定县| 佛冈县| 宿州市| 彩票| 长顺县| 文登市| 永嘉县| 板桥市|