如何在Python中清除正则表达式缓存?


目前,编译正则表达式时,结果会被缓存,以便如果再次编译相同的正则表达式,则可以从缓存中检索它,无需额外努力。此缓存最多支持 100 个条目。达到第 100 个条目后,缓存将被清除,并且必须进行新的编译。

缓存的目的是减少函数的平均调用时间。在_cache中保留更多信息并对其进行解析而不是清除它相关的开销会增加平均调用时间。_cache.clear() 调用将很快完成,即使缓存丢失,这也比保持缓存状态并在达到限制时从缓存中删除单个元素的开销更好。

计算缓存效率时需要考虑一些因素:

  • 缓存命中时的平均调用时间(非常短)

  • 缓存未命中时的平均调用时间(较长)

  • 缓存命中的频率(相当少见)

  • 清除或修剪缓存时的调用时间(相当少见)

当正则表达式缓存达到_MAXCACHE个条目时,使用_cache.clear()清除它。


更新于:2020年6月13日

621 次浏览

启动您的职业生涯

通过完成课程获得认证

开始
广告