1. 首页
  2. 编程语言
  3. Python
  4. Python中lru_cache的使用和实现详解

Python中lru_cache的使用和实现详解

上传者: 2021-07-03 05:17:54上传 PDF文件 104.46 KB 热度 13次

在计算机软件领域,缓存指的是将部分数据存储在内存中,以便下次能够更快地访问这些数据,这也是一个典型的用空间换时间的例子。一般用于缓存的内存空间是固定的,当有更多的数据需要缓存的时候,需要将已缓存的部分数据清除后再将新的缓存数据放进去。需要清除哪些数据,就涉及到了缓存置换的策略,LRU是很常见的一个,也是 Python 中提供的缓存置换策略。下面我们通过一个简单的示例来看 Python 中的 lru_cache 是如何使用的。上面的代码中定义了函数 factorial,通过递归的方式计算 n 的阶乘,并且在函数调用的时候打印出 n 的值。然后分别计算 5 和 3 的阶乘,并打印结果。最后给 wrapper 添加两个属性函数 cache_info 和 cache_clear , cache_info 显示当前缓存的命中情况的统计数据, cache_clear 用于清空缓存。

用户评论