Skip to main content

A library that simplifies working with Redis in Python

Project description

simple-redis-cache

Coverage

Простой декоратор для кэширования асинхронных функций в Redis.

Особенности

  • Автоматическая генерация ключей — ключи создаются на основе имени функции и аргументов
  • Инвалидация по префиксу — очищайте кэш группами
  • Кастомный JSON-энкодер — поддерживает datetime, Decimal, UUID, Pydantic-модели
  • Устойчивость к ошибкам — ошибки Redis не ломают приложение
  • Гибкая настройка — можно передать свой логгер

Установка

pip install simple-redis-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")

Лицензия

MIT

Автор

hotpotato89

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

simple_redis_cache-0.1.0.tar.gz (6.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

simple_redis_cache-0.1.0-py3-none-any.whl (5.8 kB view details)

Uploaded Python 3

File details

Details for the file simple_redis_cache-0.1.0.tar.gz.

File metadata

  • Download URL: simple_redis_cache-0.1.0.tar.gz
  • Upload date:
  • Size: 6.9 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

Hashes for simple_redis_cache-0.1.0.tar.gz
Algorithm Hash digest
SHA256 a7f090fc16ab5bfa42448f9f468ead9f5ac575b6acd41df11647b541c705511b
MD5 59797abae8f6ec044320a24853ea1e47
BLAKE2b-256 4daae7f2bda03a56d4e555eb60b076e628df3cf5dd2b68ebc2d72c8e6c60ca46

See more details on using hashes here.

File details

Details for the file simple_redis_cache-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: simple_redis_cache-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 5.8 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

Hashes for simple_redis_cache-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 503ba0eff0a95e8260ee18e144ff44e65ca32527f62d52d4ba9d4027bff39479
MD5 8fbf01239be05475fb43972842efce52
BLAKE2b-256 436dcedda202ec06cdd7657e0a8777f8805e1f293c04a367cbc17b6a11a40b96

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page