如何在Python中清除正則表示式快取?
目前,編譯正則表示式時,結果會被快取,以便如果再次編譯相同的正則表示式,則可以從快取中檢索它,無需額外努力。此快取最多支援 100 個條目。達到第 100 個條目後,快取將被清除,並且必須進行新的編譯。
快取的目的是減少函式的平均呼叫時間。在_cache中保留更多資訊並對其進行解析而不是清除它相關的開銷會增加平均呼叫時間。_cache.clear() 呼叫將很快完成,即使快取丟失,這也比保持快取狀態並在達到限制時從快取中刪除單個元素的開銷更好。
計算快取效率時需要考慮一些因素:
快取命中時的平均呼叫時間(非常短)
快取未命中時的平均呼叫時間(較長)
快取命中的頻率(相當少見)
清除或修剪快取時的呼叫時間(相當少見)
當正則表示式快取達到_MAXCACHE個條目時,使用_cache.clear()清除它。
廣告