repoze.lru е LRU (използвано най-) изпълнението на кеша и декоратор & Nbsp;. Ключове и стойности, които не се използват често ще бъдат изгонени от кеша по-бързо от ключове и стойности, които се използват често. Работи под Python 2.5, Python 2.6, Python 2.7, и Python 3.2.
<Силен> API
Създаване на LRUCache обект:
от repoze.lru внос LRUCache
кеш = LRUCache (100) # 100 макс дължина
Извличане от LRUCache обект:
cache.get ("nonexisting", "трънки") # ще се върне "трънки"
cache.get ("nonexisting") # ще се върне None
cache.get ("съществуваща") # ще върне стойността на съществуващата
Добавянето на LRUCache обект:
cache.put ("ключ", "стойност") # ще добавите бутон "ключ" с "стойността" на стойност
Изчистване на LRUCache:
cache.clear ()
Декоратор
A lru_cache декоратор съществува. Всички стойности се предадат на украсени функция трябва да бъде hashable. Той не поддържа доводи ключови думи:
от repoze.lru внос lru_cache
lru_cache (500)
Def expensive_function (* арг):
& Nbsp; пас
Всяка функция, украсена с lru_cache декоратор използва собствен кеш, свързани с тази функция
Какво ново в тази версия:.
- Добавен клас помощник на "CacheMaker":. мейкър държи референции (по име) в кешовете, които създава, за да могат те да бъдат изчистени
- Добавени статистика за всеки кеш, проследяване заявки, ретро, аварии и изселване.
- Автоматизирани строителни Сфинкс Документи и тестване на примерни откъси под токс.
- Добавено Сфинкс документация.
- Окачен подкрепа за Python 2.5.
- Добавена е поддръжка за PyPy.
- Добавена setup.py Документи псевдоним (инсталира Сфинкса и зависимости).
- Добавена setup.py Dev псевдоним (писти развиват плюс инсталира носа и покритие).
- Добавена е поддръжка за CI под подкрепени Питони използващи токс.
- Bug: Махни потенциал състояние състезание на заключване в лицето на прекъсванията (брой # 10) .
Какво ново във версия 0.5:
- Feature: добавя нов & quot; обезсили () & quot; метод да позволи отстраняването на елементи от кеша (брой # 8).
- Bug: LRUCache.put () може да отнеме няколко секунди върху големи кешове (Issue # 7) .
- Bug: LRUCache не се вдява сейф (Issue # 6) .
- Bug: LRUCache.clock би изхарчило RAM (Issue # 4) .
- Bug:. Многократното натискане на вписване ще премахне други записи кеш (Issue # 3)
- Bug: LRUCache ще изгони записи, дори когато не е пълен (Issue # 2) .
<силни> Изисквания :
- Python
Коментари не е намерена