Что такое cachetools?

Middle
199 просмотров
AFK Offer AI

cachetools — расширенные кеши для Python. TTLCache(maxsize=100, ttl=300) — с временем жизни. LRUCache(maxsize=100) — как lru_cache, но объект. LFUCache — Least Frequently Used. Декоратор: @cached(TTLCache(100, 300)) def get_data(key): .... @cached(cache, key=hashkey) — кастомный ключ. Потокобезопасность: @cached(cache, lock=Lock()). Отличие от lru_cache: TTL, разные стратегии вытеснения, программный доступ к кешу (cache[key], del cache[key]). Для Redis-like поведения в памяти. Подходит для: rate limiting (TTLCache), API кеширование, конфигурация с обновлением.

Следующий вопрос

Что такое метаклассы в Python?