kasper-cache
One cache interface, swappable backends. Switch from in-memory to Redis by changing a URL, not your code.
pip install kasper-cache # in-memory
pip install "kasper-cache[redis]" # + Redis backend
from kasper_cache import Cache
cache = Cache.from_url("memory://") # or "redis://localhost:6379/0"
cache.set("user:1", {"name": "Mallik"}, ttl=60)
cache.get("user:1") # -> {"name": "Mallik"}
cache.get_or_set("user:1", lambda: load(1), ttl=60)
@cache.memoize(ttl=30)
def expensive(x):
...
Why
- One interface (
get/set/delete/get_or_set/memoize) over many backends. get_or_setguards against the thundering-herd on a cache miss.- In-memory is per-process and fast; Redis is shared and survives restarts.
MIT licensed.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
kasper_cache-0.1.0.tar.gz
(4.3 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file kasper_cache-0.1.0.tar.gz.
File metadata
- Download URL: kasper_cache-0.1.0.tar.gz
- Upload date:
- Size: 4.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.14.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e5afa16b4448ff1bdfcb65f570ba5f3b2a6baae49dc411826e3eb0d40b4aa42d
|
|
| MD5 |
c3521062ec0171a9e750807da46193b2
|
|
| BLAKE2b-256 |
9605290473b9f3cb4a9bd5cd1bc504a742331134a6842f67800340709847aa6d
|
File details
Details for the file kasper_cache-0.1.0-py3-none-any.whl.
File metadata
- Download URL: kasper_cache-0.1.0-py3-none-any.whl
- Upload date:
- Size: 5.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.14.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4b8ff8ef80acd08229d18d1f76614237143136738839068da280086e7f64c0d8
|
|
| MD5 |
f038006ad70d2eb21eade37c094a1b22
|
|
| BLAKE2b-256 |
44d3c594a4f0b5c77828b48c80a4f306434fb386e1c9d91797774d6c6833416b
|