The Python Cache Toolkit.
Project description
Cache Alchemy
The Python Cache Toolkit.
Free software: MIT license
Documentation: https://cache-alchemy.readthedocs.io/en/latest/
Installation
$ pipenv install cache-alchemy
✨🍰✨
Only Python 3.6+ is supported.
Example
import dataclasses
from redis import Redis
from cache_alchemy import memory_cache, json_cache, pickle_cache
from cache_alchemy.config import DefaultConfig
config = DefaultConfig()
config.cache_redis_client = Redis.from_url(config.CACHE_ALCHEMY_REDIS_URL)
@dataclasses.dataclass
class User:
name: str
@pickle_cache
def get(name: str) -> User:
return User(name=name)
@memory_cache
def add(i: complex, j: complex) -> complex:
return i + j
@json_cache
def add(i: int, j: int) -> int:
return i + j
Features
Distributed cache
Cache clear and partial clear with specific function parameter
Cache clear cascade by dependency
Cache Json Serializable function return value with json_cache
Cache Python Object function return value with pickle_cache
Cache any function return value with memory_cache
LRU Dict support - behave like normal dict
TODO
History
0.4.* (2020)
Refactory redis cache to json cache
Support pickle Cache
Add backend class in function hash
0.2.* (2019)
Support Partially Clear Cache with Arguments
Support Flush Backend Cache
Cache Redis Client Must Decode Responses
0.1.* (2019)
Support Method and Property Cache
Support cache as a decorator with no arguments.
Init Project.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for cache_alchemy-0.4.1-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f9a0ec447bf3758630008d26f0b3104258297384d6a8754f4d34f5e6d23f7b29 |
|
MD5 | 8d3fa18603557a11843a5d8b3ab4b8b4 |
|
BLAKE2b-256 | fabd8a29e9678b53d86a59a69cceefdb92888389582f60444dab3aa694f04bc2 |