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中
評論沒有發現