repoze.lru是LRU(最近最少使用)的缓存实现和装饰 按键和不经常使用的值会从缓存中逐出比常用键和值更快。它的工作原理的Python 2.5,Python 2.6中,Python的2.7和Python 3.2下。
API
创建LRUCache对象:
从repoze.lru进口LRUCache
缓存= LRUCache(100)#100最大长度
检索从LRUCache对象:
cache.get('不存在的','富')#将返回'富'
cache.get(“不存在的”)#返回None
cache.get(现有“)#返回现有值
添加到一个LRUCache对象:
cache.put(“关键”,“价值”)#将增加与价值“价值”的关键“钥匙”
清除的LRUCache:
cache.clear()
装饰
一个lru_cache装饰存在。传递到装饰功能的所有值必须是可哈希。它不支持关键字参数:
从repoze.lru进口lru_cache
@lru_cache(500)
高清expensive_function(* ARG):
 通
饰有lru_cache装饰每个函数都使用自己的缓存与该功能
什么在此版本中是新的:
- 增加了一个“CacheMaker”辅助类:制造商不断引用(按名称),以它创建的缓存,允许他们清除
- 新增统计每个缓存,跟踪查询,命中,命中和驱逐。
- 在自动化建设狮身人面像文档和下TOX测试例子片断。
- 添加狮身人面像的文档。
- 在丢弃的Python 2.5的支持。
- 在增加了对PyPy支持。
- 新增setup.py文档别名(安装狮身人面像和依赖性)。
- 新增setup.py dev的别名(运行发展以及安装的鼻子和覆盖范围)。
- 在使用TOX支持下,蟒蛇对CI新增支持。
- 在错误:在锁在脸上中断(第10号)的消除潜在的竞争条件 。
什么版本0.5是新的:
- 在功能:添加了一个新的"无效()"方法允许从缓存中清除的项目(问题#8)。
- 在错误:LRUCache.put()可能需要多秒大容量高速缓存(第7号) 。
- 在错误:LRUCache不是线程安全的(问题#6) 。
- 在错误:LRUCache.clock会浪费RAM(第4号) 。
- 错误:反复推条目会删除其他缓存条目(第3号)
- 在错误:LRUCache会驱逐项,即使不完全(第二期) 。
要求:
- 在Python中
评论没有发现