repoze.lru je LRU (nejdéle používané) provádění a dekoratér vyrovnávací paměti. & Nbsp; klíče a hodnoty, které nejsou často používány bude vystěhován z vyrovnávací paměti rychleji, než klíče a hodnoty, které jsou používány často. Pracuje v Pythonu 2.5, Python 2.6, Python 2.7, a Python 3.2.
API
Vytvoření objektu LRUCache:
od repoze.lru dovozu LRUCache
cache = LRUCache (100) # 100 max délka
Načítání z objektu LRUCache:
cache.get ("Neexistující", "foo") # vrátí "foo"
cache.get ("Neexistující") # vrátí None
cache.get ("stávající") # vrátí hodnotu pro stávající
Přidání do objektu LRUCache:
cache.put ("klíč", "hodnota") # přidá klíč "klíč" s "hodnotou" hodnota
Vymazání LRUCache:
cache.clear ()
Tapetář
Lru_cache dekoratér existuje. Všechny hodnoty předané zdobené funkci, musí být hashable. To nepodporuje pojmenované argumenty:
od repoze.lru dovozu lru_cache
lru_cache (500)
def expensive_function (* arg):
& Nbsp; průchod
Každá funkce zdobí lru_cache dekoratér používá vlastní mezipaměti vztahující se k této funkci
Co je nového v této verzi:.
- Přidána "CacheMaker" pomocná třída:. výrobce udržuje odkazy (podle jména) do mezipamětí, které vytváří, je povolení k zúčtování
- Přidány statistiky, které mají každé vyrovnávací paměti, sledování lookup, hity, mine a vystěhování.
- Automatické stavební Sfinga dokumenty a zkušební příklad, který umístíte pod Tox.
- Added Sphinx dokumentace.
- Ukončení podpory pro Python 2.5.
- Přidána podpora pro PyPy.
- Přidáno setup.py docs alias (instaluje Sfinga a závislosti).
- Přidáno setup.py dev alias (běží rozvíjet a nainstaluje nos a pokrytí).
- Byla přidána podpora pro CI v podporovaných Pythons pomocí Tox.
- Bug: Odstraňte případný spor o zámek v obličeji přerušení (Issue # 10) .
Co je nového ve verzi 0.5:
- Funkce: přidán nový & quot; vyvrátit () & quot; metoda umožňující odstranění položek z mezipaměti (vydání # 8).
- Bug: LRUCache.put () by mohla trvat několik sekund na velké vyrovnávací paměti (Issue # 7) .
- Bug: LRUCache nebylo bezpečné podprocesy (Issue # 6) .
- Bug: LRUCache.clock by odpad RAM (Issue # 4) .
- Bug:. Opakovaným stiskem z položky by odstranila další položky mezipaměti (Issue # 3)
- Bug: LRUCache by se vystěhovat položky, i když ne úplná (Issue # 2) .
Požadavky na :
- Python
Komentáře nebyl nalezen