Python implementation of LRU-Cache using OrderedDict
Python 3.7 or higher required!
To install the stable version of the library:
# on linux/macOS
python3 -m pip install lru-od
# windows
py -3 -m pip install lru-od
To install the development version of the library:
$ git clone https://github.com/XiehCanCode/lru-od
$ cd lru-od
$ python3 -m pip install -U .
from lru import LRUCache
cache: LRUCache[str, str] = LRUCache(max_size=2)
cache.set("foo", "bar") # you can also use: cache['foo'] = 'bar'
cache.set("bar", "foo")
print(cache.get("foo")) # this key-pair would be pushed to end
cache.set("ping", "pong") # since we're exceeding the max size, the least used will be removed, in this case it's {'bar': 'foo'}
-
class LRUCache
LRU Cache implementationmax_size: Optional[
int
]
Max size of the cache, default's to 120x == y
x != y
x in y
- cache_info() -> str
Information about the cache - get(key: Any) -> Any | None
Get a value of the key-value pair with givenkey
if exists - items() -> tuple[Any, Any]
D.values() -> a set-like object providing a view on D's items - keys() -> KeysView[Any]
D.keys() -> a set-like object providing a view on D's keys - remove(key: Any) -> None
Remove a key-value pair associated with thekey
parameter if exists - set(key: Any, value: Any) -> dict[Any, Any]
Set/Update a new/existing key-value pair with givenkey
andpair
and returns the key-value pair created/updated - values() -> ValuesView[Any]
D.values() -> a set-like object providing a view on D's values
- cache_info() -> str