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 ('неіснуюча', 'Foo') # поверне 'Foo'
cache.get ('неіснуюча') # поверне None
cache.get ('існуючих') # поверне значення для існуючих
Додавання до об'єкта LRUCache:
cache.put ("ключ", "вартість") # буде додати ключ 'ключ' з 'значення' значення
Стирання LRUCache:
cache.clear ()
Декоратор
Lru_cache декоратор існує. Всі значення, передані декорована функція повинна бути hashable. Він не підтримує іменовані аргументи:
від repoze.lru lru_cache імпорту
lru_cache (500)
Def expensive_function (* ARG):
І NBSP; передача
Кожна функція прикрашений lru_cache декоратор використовує свій власний кеш, що відноситься до цієї функції
Що нового У цьому випуску :.
- Додав 'CacheMaker' допоміжний клас :. виробник тримає посилання (по імені) в кеш, вона створює, щоб вони могли бути очищені
- Додана статистика для кожного кеша, відстеження переглядів, парад, промахи, і виселення.
- Автоматизована будівельні Сфінкс документи і тестування приклад фрагменти під х.
- Документація Додано Сфінкс.
- Припинено підтримка Python 2.5.
- Додана підтримка PyPy.
- Додана setup.py документи псевдонім (встановлює Сфінкса і залежностей).
- Додана setup.py DEV псевдонім (працює розвиватися плюс встановлює ніс і освітлення).
- Додана підтримка CI під підтримуваних пітонів, використовуючи х.
- Виправлена помилка: усунути можливі стану гонки на замок в особі переривань (Випуск # 10) .
Що нового у версії 0.5:
- Характеристика: доданий новий & Quot; недійсним () і Quot; метод, щоб забезпечити видалення елементів з кеша (випуск # 8).
- Виправлена помилка: LRUCache.put () може приймати кілька секунд на великих кешей (Випуск # 7) .
- Виправлена помилка: LRUCache НЕ поточно (Випуск № 6) .
- Виправлена помилка: LRUCache.clock буде витрачати RAM (Випуск № 4) .
- Виправлена помилка :. повторне натискання запис буде видалити інші записи кеша (Випуск # 3)
- Виправлена помилка: LRUCache б виселити записи, навіть якщо не повністю (Випуск # 2) .
Вимоги
- Python
Коментар не знайдено