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
TODO
History
0.4.* (2020)
Refactory redis cache to json cache
Support pickle Cache
Add backend class in function hash
Add cache key prefix to avoid key conflict
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
File details
Details for the file cache-alchemy-0.4.5.tar.gz
.
File metadata
- Download URL: cache-alchemy-0.4.5.tar.gz
- Upload date:
- Size: 22.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.9.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 06d6768992b72b6572dc73678ae12c6b8cd9edde0299ec616822f0ac85562b99 |
|
MD5 | 7f8163c5364f819a07538b6befce98e9 |
|
BLAKE2b-256 | d74fd1478019b4541772aa8520d84dc74053e61ca1c78ade17e8bf4fe4f14557 |
File details
Details for the file cache_alchemy-0.4.5-py2.py3-none-any.whl
.
File metadata
- Download URL: cache_alchemy-0.4.5-py2.py3-none-any.whl
- Upload date:
- Size: 13.5 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.9.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3622059e922ee1abe9e97218a0fa433be8c3ffe0daa518bb5f2c246d672ec6d5 |
|
MD5 | a23a0579eae4542cfaedbfbbc235d431 |
|
BLAKE2b-256 | a059d757a3edb10f8f3ad6ff4bd9caf795ede951275223512c4efe8271c507d5 |