datarootsio / expiring-lru-cache

LRU caching with expiration period.

Home Page:https://datarootsio.github.io/expiring-lru-cache/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

logo

expiring_lru_cache

Maintained by dataroots Python versions PiPy Downloads Code style: black Mypy checked Codecov test

expiring_lru_cache is a minimal drop-in replacement of functools.lru_cache. It allows the user to specify a time interval (in secs) after which the cache is invalidated and reset.

Usage

Here an example cached function whose cache will invalidate after 10 seconds.

from expiring_lru_cache import lru_cache

@lru_cache(expires_after=10)
def my_plus_one_func(x: int) -> int:
    return x + 1

Here an example cached function whose cache will invalidate after 1 day. Note that the convenience variables MINUTES, HOURS and DAYS are available within the expiring_lru_cache namespace.

from expiring_lru_cache import lru_cache, DAYS


@lru_cache(expires_after=1 * DAYS)
def my_plus_one_func(x: int) -> int:
    return x + 1

About

LRU caching with expiration period.

https://datarootsio.github.io/expiring-lru-cache/

License:MIT License


Languages

Language:Python 100.0%