A library that simplifies working with Redis in Python
Project description
simple-redis-cache
Простой инструмент для кэширования асинхронных и синхронных функций в Redis.
Особенности
- Автоматическая генерация ключей — ключи создаются на основе имени функции и аргументов
- Инвалидация по префиксу — очищайте кэш группами
- Кастомный JSON-энкодер — поддерживает
datetime,Decimal,UUID, Pydantic-модели - Устойчивость к ошибкам — ошибки Redis не ломают приложение
- Гибкая настройка — можно передать свой логгер
- sync/async поддержка — можно использовать как для синхронных, так и для асинхронных функций
- 100% покрытие - полная уверенность в коде
- 100%
docstrings- полная документация функций
Установка
pip install simple-redis-cache
Использование:
from simple_redis_cache.sync import Cache # Синхронный
from simple_redis_cache.asyncio import Cache # Асинхронный
Пример
from redis.asyncio import Redis
from simple_redis_cache import Cache
redis = Redis()
cache = Cache(redis)
@cache.cache(ttl=60, prefix="user")
async def get_user(user_id: int):
return {"id": user_id, "name": "Alice"}
# Первый вызов — вычисляется, второй — из кэша
r1 = await get_user(1)
r2 = await get_user(1)
# Одинаковый результат
print(r1 == r2)
Инвалидация
await cache.invalidate_cache(prefix="user")
Лицензия
Автор
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
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 simple_redis_cache-1.1.0.tar.gz.
File metadata
- Download URL: simple_redis_cache-1.1.0.tar.gz
- Upload date:
- Size: 8.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"EndeavourOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bf324520beed383259a934bb335443375842da8adb20da18ad79f192cd6aca57
|
|
| MD5 |
f9e685640e4b725a2dd2c3304dbb06b6
|
|
| BLAKE2b-256 |
653734134454c32dfd3dacbf3c20bacecd1c844e986e7257cd9da907ae38af6c
|
File details
Details for the file simple_redis_cache-1.1.0-py3-none-any.whl.
File metadata
- Download URL: simple_redis_cache-1.1.0-py3-none-any.whl
- Upload date:
- Size: 10.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"EndeavourOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5a1f9c53b29fd3c47c425ac840018f4684e85ea10e01e58b093dda223e77facc
|
|
| MD5 |
759632fd62ca9a73cf6ce8e06363c6e7
|
|
| BLAKE2b-256 |
2401b1025343e18f8cd3cb175cf6bf8a80eaf84802fb6a2261fcd2a99f813832
|