如何在Python中清除正則表示式快取?


目前,編譯正則表示式時,結果會被快取,以便如果再次編譯相同的正則表示式,則可以從快取中檢索,無需額外操作。此快取最多支援 100 個條目。達到第 100 個條目後,快取將被清除,必須執行新的編譯。

快取的目的是減少函式的平均呼叫時間。在快取中保留更多資訊並進行解析而不是清除它相關的開銷會增加平均呼叫時間。_cache.clear() 呼叫將很快完成,即使快取丟失,這也比維護快取狀態並在達到限制時從快取中刪除單個元素的開銷更好。

在計算快取效率時,需要考慮以下幾點:

  • 快取命中時的平均呼叫時間(非常短)

  • 快取未命中時的平均呼叫時間(較長)

  • 快取命中的頻率(相當不常見)

  • 清除或修剪快取時的呼叫時間(相當不常見)

當正則表示式快取達到 _MAXCACHE 個條目時,使用 _cache.clear() 清除它。


更新於:2020年6月13日

621 次瀏覽

啟動您的職業生涯

透過完成課程獲得認證

開始
廣告