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

溫馨提示×

溫馨提示×

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

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

python如何使用裝飾器緩存函數調用

發布時間:2022-03-15 15:31:54 來源:億速云 閱讀:254 作者:小新 欄目:web開發

這篇文章給大家分享的是有關python如何使用裝飾器緩存函數調用的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

使用裝飾器緩存函數調用

你是否曾經編寫過一種函數,它執行昂貴的 I/O 操作或一些相當慢的遞歸,而且該函數可能會受益于對其結果進行緩存(存儲)?如果你有,那么有簡單的解決方案,即使用 functools 的lru_cache :

from functools import lru_cache 
import requests 
 
@lru_cache(maxsize=32) 
def get_with_cache(url): 
    try: 
        r = requests.get(url) 
        return r.text 
    except: 
        return "Not Found" 
 
 
for url in ["https://google.com/", 
            "https://martinheinz.dev/", 
            "https://reddit.com/", 
            "https://google.com/", 
            "https://dev.to/martinheinz", 
            "https://google.com/"]: 
    get_with_cache(url) 
 
print(get_with_cache.cache_info()) 
# CacheInfo(hits=2, misses=4, maxsize=32, currsize=4)

在此例中,我們用了可緩存的 GET 請求(最多 32 個緩存結果)。你還可以看到,我們可以使用 cache_info 方法檢查函數的緩存信息。裝飾器還提供了 clear_cache 方法,用于使緩存結果無效。

我還想指出,此函數不應與具有副作用的函數一起使用,或與每次調用都創建可變對象的函數一起使用。

感謝各位的閱讀!關于“python如何使用裝飾器緩存函數調用”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

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

AI

芦山县| 临西县| 漳浦县| 昌图县| 弥渡县| 平乐县| 封丘县| 新营市| 鹿邑县| 双牌县| 伊宁县| 四会市| 乌兰县| 化德县| 上思县| 赤水市| 彭水| 卢湾区| 武强县| 米易县| 简阳市| 同心县| 门源| 武清区| 沁阳市| 浑源县| 霍林郭勒市| 锦州市| 莱州市| 阿拉善盟| 伊宁市| 射洪县| 乐都县| 宜章县| 河东区| 宁武县| 宁远县| 信丰县| 红桥区| 蛟河市| 石景山区|